我有这个代码用于将值插入到oracle数据库中,我得到“Missing comma”异常,我无法看到它来自何处。
"insert into comandadvd values('" + txt_idComanda.Text + "','" +
txtFormat.Text + "','" + "', to_date('" + txtData.Text + "','DDMMYYY')'" + txtIdTipPlata.Text + "','" + txtPret.Text + "')";
此处它是Oracle的代码:
INSERT INTO ComandaDVD (Id_Comanda,Id_Format,Data_Comanda,Id_TipPlata,Pret)
VALUES ('1','1','12-11-2011','1','200');
提前致谢!
答案 0 :(得分:2)
"insert into comandadvd values('" + txt_idComanda.Text + "','" +
txtFormat.Text + "','" + "' to_date('" + txtData.Text + "','DDMMYYY')'" + "','" + txtIdTipPlata.Text + "','" + txtPret.Text + "')";
答案 1 :(得分:1)
to_date
不应该在引号内。 DD-MM-YYYY
。 试试这个,因为我没有测试过,如果你收到错误就告诉我。
"insert into comandadvd values('" + txt_idComanda.Text + "','" + txtFormat.Text + "','" + "to_date('"
+ txtData.Text + "','DD-MM-YYY')" + txtIdTipPlata.Text + "','" + txtPret.Text + "')";
答案 2 :(得分:1)
错误的直接原因在于
POST api/courses/link/
fragmanent。最佳解决方案是使用参数化查询:
"','" + "', to_date('"
如果由于某种原因您无法使用参数化查询,请使用格式化一个:
@"insert into comandadvd (
Id_Comanda,
Id_Format,
Data_Comanda,
Id_TipPlata,
Pret)
values (
:prm_Id_Comanda,
:prm_Id_Format,
:prm_Data_Comanda,
:prm_Id_TipPlata,
:prm_Pret)";
指导原则是让您的SQL可读
答案 3 :(得分:0)
您在查询中to_date(
之前添加了额外的逗号。更正后的代码如下:
"INSERT INTO ComandaDVD (Id_Comanda,Id_Format,Data_Comanda,Id_TipPlata,Pret) VALUES (" +
"'" + txt_idComanda.Text + "', " +
"'" + txtFormat.Text + "', " +
"to_date('" + txtData.Text + "', 'DDMMYYY'), " +
"'" + txtIdTipPlata.Text + "', " +
"'" + txtPret.Text + "')";
答案 4 :(得分:0)
似乎存在多个问题:
SELECT
中显示的表名具有不同的大小写,并且发布的SELECT
中的字段列表,代码未生成;因此,您发布的SELECT
文本显然不是由此代码生成的。如果您实际上运行代码并生成了INSERT语句,那么您已经发现它不会像您想的那样,并且您可以自己修复它to_date
之前添加多个逗号。txtIdTipPlata.Text
之前生成逗号。INSERT
语句应始终包含要插入的字段名称列表。祝你好运。