我正在使用以下代码:

MySqlTransaction trnData = pconDB.BeginTransaction();
MySqlCommand cmdData = new MySqlCommand();

cmdData.Connection = pconDB;
cmdData.CommandTimeout = plngQueryTimeOut;
cmdData.CommandType = CommandType.Text;
cmdData.CommandText = "CALL spsOME( 4, 'DATA', 389552022,@intOutReturn);";
cmdData.Transaction = trnData;
plngRecordsCount = cmdData.ExecuteNonQuery();


不能直接从.net库获取CALL语句吗?相同的查询正在工作台上工作。

最佳答案

将以下两行更改为:

   cmdData.CommandType = CommandType.StoredProcedure;
   cmdData.CommandText = "spsOME( 4, 'DATA', 389552022,@intOutReturn);";


您还需要为cmData参数将参数添加到@intOutReturn的Parameters集合中。我不会给出一个示例,因为语法随数据库而异,而且我也不知道MySQL的外观。

另外,这一行:

cmdData.Transaction = trnData;


仅当您正在执行其他应该在同一事务中的数据库操作时,..才是必需的。如果您不是,那我就不用说了。

关于c# - “命令执行期间遇到致命错误。” mysql-connector .net,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24279926/

10-10 22:25