2014-06-18 63 views
0

我使用下面的代码:“执行命令期间遇到致命错误。” MySQL的连接器.NET

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声明可能直接?相同的查询正在工作台上工作。

回答

0

改变两行这样的:

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

您还需要一个参数添加到的cmData Parameters集合为@intOutReturn参数。我不会举这个例子,因为数据库的语法不同,我不知道MySQL的外观。

另外,该线路:

cmdData.Transaction = trnData; 

如果你正在做其他数据库的操作应该是在同一个事务..是唯一必要的。如果你不是,我会离开这条线。

+0

我想执行这样的多个CALL语句。 'CALL spsOME(4,'DATA',389552022,@ intOutReturn); CALL spsOME(4,'DATA',389552022,@ intOutReturn);'有可能吗? –

+0

当然。但为此打开另一个问题,显示你的代码。 –

相关问题