我在将数据插入表格时遇到问题。 桌子实际上非常大;它有超过100个领域, 我尝试使用C#和OracleParameterCollection(System.Data.OracleClient)设置参数,如下所示:
var param = new OracleParameter(":pEmpNo1", OracleType.Number);
param.Value = 1;
command.Parameters.Add(param);
param = new OracleParameter(":pEmpNo2", OracleType.Number);
param.Value = 2;
command.Parameters.Add(param);
param = new OracleParameter(":pEmpNo3", OracleType.Number);
param.Value = 3;
command.Parameters.Add(param);
:
:
param = new OracleParameter(":pEmpNo14", OracleType.Number);
param.Value = 14;
command.Parameters.Add(param);
param = new OracleParameter(":pEmpNo15", OracleType.Number);
param.Value = 15;
command.Parameters.Add(param);
我的SQL看起来像这样:
INSERT INTO MY_TABLE (
pEmpNo1,
pEmpNo2,
pEmpNo3,
pEmpNo4,
pEmpNo5,
pEmpNo6,
pEmpNo7,
pEmpNo8,
pEmpNo9,
pEmpNo10,
pEmpNo11,
pEmpNo12,
pEmpNo13,
pEmpNo14,
pEmpNo15
) VALUES (
:pEmpNo1,
:pEmpNo2,
:pEmpNo3,
:pEmpNo4,
:pEmpNo5,
:pEmpNo6,
:pEmpNo7,
:pEmpNo8,
:pEmpNo9,
:pEmpNo10,
:pEmpNo11,
:pEmpNo12,
:pEmpNo13,
:pEmpNo14,
:pEmpNo15
);
当我执行程序时,出现错误" ORA-01008:并非所有变量都绑定了#34;发生了。但是,当我减少添加小于15的参数时(例如,从我的SQL和oracleParameterCollection中删除" pEmpNo15")它可以正常工作。我不知道为什么,并且我想以某种方式向OracleParameterCollection添加超过14个参数。如果您有任何信息,请告诉我,提前谢谢!
更新 我更正了SQL示例代码(我删除了错误地插入&#34之前的最后一个逗号;)VALUES(")。我仍有同样的问题...
答案 0 :(得分:0)
你的问题出在最后一栏" pEmpNo15," (注意逗号)它应该改为" pEmpNo15" (没有逗号)
您的查询应如下所示:
INSERT INTO MY_TABLE (
pEmpNo1,
pEmpNo2,
pEmpNo3,
pEmpNo4,
pEmpNo5,
pEmpNo6,
pEmpNo7,
pEmpNo8,
pEmpNo9,
pEmpNo10,
pEmpNo11,
pEmpNo12,
pEmpNo13,
pEmpNo14,
pEmpNo15
) VALUES (
:pEmpNo1,
:pEmpNo2,
:pEmpNo3,
:pEmpNo4,
:pEmpNo5,
:pEmpNo6,
:pEmpNo7,
:pEmpNo8,
:pEmpNo9,
:pEmpNo10,
:pEmpNo11,
:pEmpNo12,
:pEmpNo13,
:pEmpNo14,
:pEmpNo15
);