2014-03-01 74 views
0

我有MySQL的過程,它看起來像替代在C#MySQL二進制(16)

create procedure 'name' (in param_oid binary(16), out param2_oid binary(16)... 

,當我想從C#代碼執行它,它恢復了我的異常(System.FormatException)

這是我如何執行它

cmd.Parameters.AddWithValue('@param_oid', myvariable); 
cmd.Parameters.AddWithValue('@param2_oid', MySqlDbType.Binary); 
cmd.Parameters['@param2_oid'].Direction = ParameterDirection.Output; 
cmd.ExecuteNonQuery(); 

在我看來MySqlDbType.Binary不支持二進制(16)最好的主意。它有什麼選擇?

+0

變量的數據類型是什麼? –

+0

我發送字節[]在myvariable – boski

+2

在c#中,我敢肯定''@ param_oid''不會編譯。你確定你提供了正確的代碼嗎? –

回答

2

第二個參數調用錯誤。您可以撥打AddWithValue,但不要將變量作爲第二個參數添加,而是提供數據類型。

您應該使用Add來代替。

+0

@boski:運氣好嗎?需要更多幫助? –