C# 4.0 Oracle查询在C中不起作用
当我运行此代码时,它总是返回零,而当我在oracle sql客户端中运行此查询时,它返回1C# 4.0 Oracle查询在C中不起作用,c#-4.0,oracle11g,C# 4.0,Oracle11g,当我运行此代码时,它总是返回零,而当我在oracle sql客户端中运行此查询时,它返回1 var strSQL = string.Format("SELECT COUNT(*) FROM GANTNER.GAT_REASONS WHERE CODE ='{0}'", StatusCode); objCmd = new OracleCommand(strSQL, objConn); objCmd.CommandType = CommandType.Text; int val =
var strSQL = string.Format("SELECT COUNT(*) FROM GANTNER.GAT_REASONS WHERE CODE ='{0}'", StatusCode);
objCmd = new OracleCommand(strSQL, objConn);
objCmd.CommandType = CommandType.Text;
int val = int.Parse(objCmd.ExecuteScalar().ToString());
对于try,我删除了列名代码上的条件,它可以工作,但当我输入列名代码时,它不能工作,然后我尝试输入代码'CODE'所有不工作始终返回零,而它应该返回1,因为行存在。尝试以下操作:
OracleCommand cmd = conn.createCommand();
// parametrized sql query
cmd.CommandText = "SELECT COUNT(*) FROM GANTNER.GAT_REASONS WHERE CODE = :status";
// add parameter for the query
cmd.Parameters.AddWithValue("status", StatusCode);
int val = int.Parse(objCmd.ExecuteScalar().ToString());
试试这个:
OracleCommand cmd = conn.createCommand();
// parametrized sql query
cmd.CommandText = "SELECT COUNT(*) FROM GANTNER.GAT_REASONS WHERE CODE = :status";
// add parameter for the query
cmd.Parameters.AddWithValue("status", StatusCode);
int val = int.Parse(objCmd.ExecuteScalar().ToString());
可能是字母大小写问题。请尝试UPPER/UCASE函数进行比较
var strSQL = string.Format("SELECT COUNT(*) FROM GANTNER.GAT_REASONS
WHERE UCASE(CODE) ='{0}'", StatusCode.ToUpper());
或
可能是字母大小写问题。请尝试UPPER/UCASE函数进行比较
var strSQL = string.Format("SELECT COUNT(*) FROM GANTNER.GAT_REASONS
WHERE UCASE(CODE) ='{0}'", StatusCode.ToUpper());
或
我已经尝试了参数查询,但仍然不起作用,因为列存在问题name@SOFUser什么问题?你有错误代码吗。StatusCode到底是什么?StatusCode=142,数据库中存在行,但返回的计数为零。在sql developer中,它返回行数1@SOFUser提交,再试一次,如果不起作用,请从sql developer复制粘贴您的精确查询。我已尝试使用参数查询,但它仍然不起作用,因为列存在问题name@SOFUser什么问题?你有错误代码吗。StatusCode到底是什么?StatusCode=142,数据库中存在行,但返回的计数为零。在sql developer中,它返回行数1@SOFUser提交,再试一次,如果不起作用,请从sql developer复制粘贴您的精确查询。这是数字字段吗?不需要用单引号包装值。它的字符串字段包含数值,我猜!代码是CHAR类型的。或者您通过SQL提示符插入了一些行,但尚未提交这些更改。这是数字字段吗?不需要用单引号包装值。它的字符串字段包含数值,我猜!代码是CHAR类型的。或者您已经通过SQL提示符插入了一些行,但尚未提交这些更改。