插入命令参数错误?

时间:2014-03-12 14:43:02

标签: c# oracle11g

我想将来自c#表单的数据插入到oracle数据库中....我使用这行代码

com.CommandText = "insert into DEPTS VALUES (:code, :name)";
com.Parameters.Add(new OracleParameter(
    "code", OracleType.Int32,dept_cod_txt.Text, ParameterDirection.Input));
com.Parameters.Add(new OracleParameter(
    "name", OracleType.NVarChar, dept_name_txt.Text , ParameterDirection.Input));
com.ExecuteNonQuery();`

它给我一些错误如下: enter image description here

1 个答案:

答案 0 :(得分:1)

您正在添加错误的参数。

你应该使用它like this

new OracleParameter(
"parameterName", OracleType, length, "db column name");

假设您的表格字段为代码名称。然后

var codeParameter = new OracleParameter(
"code", OracleType.Int32, 4, "code");

codeParameter.Value = Convert.ToInt32(dept_cod_txt.Text);

var nameParameter = new OracleParameter(
"name", OracleType.NVarchar, 20, "name");

nameParameter.Value = dept_name_txt.Text;

com.Parameters.Add(codeParameter);
com.Parameters.Add(nameParameter);

ParameterDirection 参数的参数具有不同的signature

您可以找到所有可能签名的列表here