我想在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));
}
}
}
我一直收到这个错误信息:
表中的所有列都是在System.Data.dll中发生了第一个机会类型为“System.Data.SqlClient.SqlException”的异常 发生错误:操作数类型不匹配:文本与整数不兼容
TEXT
类型。为什么不能将函数参数(类型为string
)与列进行比较以找到匹配项?(然后删除该行?)
TEXT
- 自从SQL Server 2005之后,它已被弃用。改用VARCHAR(MAX)
。还有:所有列都使用VARCHAR(MAX)
看起来像是一个糟糕的设计 - 你真的需要每个列都有2 GB的文本吗?真的吗!?!设计和性能提示:使用适当的数据类型。 - marc_s