2014-06-18 93 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

當然。但爲此打開另一個問題,顯示你的代碼。 –

相關問題