我試圖簡單地從我的SQL Server數據庫表中使用按鈕事件刪除一整行。到目前爲止,我的嘗試都沒有成功。這就是我想要做的事:從SQL Server表中刪除一行
public static void deleteRow(string table, string columnName, string IDNumber)
{
try
{
using (SqlConnection con = new SqlConnection(Global.connectionString))
{
con.Open();
using (SqlCommand command = new SqlCommand("DELETE FROM " + table + " WHERE " + columnName + " = " + IDNumber, con))
{
command.ExecuteNonQuery();
}
con.Close();
}
}
catch (SystemException ex)
{
MessageBox.Show(string.Format("An error occurred: {0}", ex.Message));
}
}
}
我不斷收到錯誤:
A first chance exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll An error occurred: Operand type clash: text is incompatible with int
所有在表中的列是TEXT
類型。爲什麼我無法將類型爲string
的函數參數與列進行比較以找到匹配項? (然後刪除該行?)
你應該使用這個參數。 – 2012-03-06 03:07:20
我不確定如何使用參數,任何示例?資源? – ikathegreat 2012-03-06 04:24:23
另外,作爲一個附註:首先,你不應該再使用'TEXT' - 從SQL Server 2005開始它已經被棄用了。改用'VARCHAR(MAX)'。另外:擁有**所有列**是'VARCHAR(MAX)'聞起來像一個可怕的設計 - 你真的**需要2 GB的文本**每列** ** ?? **設計和性能提示:使用適當的數據類型 – 2012-03-06 05:50:10