2014-06-14 49 views
0

错误[42000] [MySQL] [ODBC 5.1驱动程序] [mysqld-5.5.9-log] SQL中有错误句法;检查与您的MySQL服务器版本相对应的手册,以找到在CALL spCreateTrade(27756,'27751','820','1','126','TRADE','Approved')附近使用的正确语法第1行MySQL ODBC驱动程序:SQL在编辑器中工作,但不在.NET中odbc

这个查询在像MySQL工作台这样的编辑器中工作得很好。我使用了相同的SQL用户。我不能为了我的生活找出为什么这不起作用。

 parameters.Add(new OdbcParameter("pEmployeeDB_ID", co.DB_ID)); 
     parameters.Add(new OdbcParameter("pOther_EmployeeDB_ID", EmployeeDB_ID.ToString())); 
     parameters.Add(new OdbcParameter("pCO_ID", CO_ID.ToString())); 
     parameters.Add(new OdbcParameter("pDPID", co.Department_Position_ID.ToString()));    
     parameters.Add(new OdbcParameter("pCompleted_By", Completed_By.ToString())); 
     parameters.Add(new OdbcParameter("pAction_type", "TRADE")); 
     parameters.Add(new OdbcParameter("sStatus", "Approved")); 

     string sql = "​CALL spCreateTrade (?,?,?,?,?,?,?)"; 


     DataSet retVal = new DataSet(); 


     if (connString != null) 
     { 
      using (OdbcConnection connection = new OdbcConnection(connString)) 
      { 
       //Open it 
       connection.Open(); 
       //Create the command 
       OdbcCommand command = new OdbcCommand(sql, connection); 
       command.CommandType = cmdType; 
       if (parameters != null) 
       { 
        foreach (OdbcParameter p in parameters) 
        { 
         command.Parameters.Add(p); 
        } 
       } 

       command.ExecuteNonQuery(); 


       //Close the connection. 
       connection.Close(); 
      } 
     } 

回答

0

方括号括起来的SQL:

string sql = "{ ​CALL spCreateTrade (?,?,?,?,?,?,?) }";