【问题标题】:C# {"ORA-00917: missing comma"} INSERT QUERY ERRORC# {"ORA-00917: 缺少逗号"} 插入查询错误
【发布时间】:2016-02-06 22:21:43
【问题描述】:

我正在尝试插入这些值:

int limit = 50000;

int acc_id = 1;

string query = "INSERT INTO CURRENT_ACCOUNT(C-ACCOUNT_NO,DAILY_LIMIT) 
                VALUES ('"+acc_id+"','"+limit+"')";


OracleCommand command = new OracleCommand(query, con);

command.ExecuteNonQuery();

但是得到一个缺少逗号的异常:

C# {"ORA-00917: 缺少逗号"}

【问题讨论】:

  • 我认为你必须添加分号
  • 你的列是什么类型的?
  • 没有工作@GrantWinney

标签: c# oracle


【解决方案1】:

您确定您的CURRENT_ACCOUNT 表包含名称为C-ACCOUNT_NO 的列吗?列是否命名为 C_ACCOUNT_NO(破折号 - 替换为下划线 _)?

如果列名确实包含破折号,请将列名用双引号括起来:

string query = "INSERT INTO CURRENT_ACCOUNT(\"C-ACCOUNT_NO\",DAILY_LIMIT) " + // ...

【讨论】:

    【解决方案2】:

    您必须在查询末尾添加分号..

    string query = "INSERT INTO CURRENT_ACCOUNT(C-ACCOUNT_NO,DAILY_LIMIT) 
                    VALUES ("+acc_id+","+limit+");";
    

    【讨论】:

    • 没有。这不是必须
    • acct id 和 limit 在 oracle 数据库中属于什么类型? @SaddaHussain
    • 两者都是数据库@Viru中的数字
    • 那么为什么在查询中使用 ' 单撇号..删除它...我也会更新答案@SaddaHussain
    • @SaddaHussain 你可以自己把你的问题放在这里......我或其他人都会帮助你......但不能做Skype
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多