我想知道如果表列与checkedlistbox关联,如何更新它们,否则就不更新。
举个例子如下 Permissions
表格:
Name | Email | Admin | Subscribed | Newsletter
-----------------------------------------------------
John | j@email.com | 1 | 0 | 1
最后三列需要根据在checkedlistbox中选中的值进行更新。我知道我通常会对每个指定列执行以下操作:
string myQuery = "UPDATE Permissions SET Admin = @admin, Subscribed = @subscribed, Newsletter = @newsletter WHERE Name = 'John'";
using (SqlConnection myConn = new SqlConnection(someConnectionString))
{
try {
myConn.Open();
using (SqlCommand myComm = new SqlCommand(myQuery, myConn))
{
myComm.Parameters.AddWithValue("@admin", int.Parse(admin.Text));
myComm.Parameters.AddWithValue("@subscribed", int.Parse(subscription.Text));
myComm.Parameters.AddWithValue("@newsletter", int.Parse(newsletter.Text));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
但是,这将不适用于 CheckedListBox
. 我怎样才能通过一个 CheckedListBox
只更新 Permissions
table?
1条答案
按热度按时间mwyxok5s1#
如果需要更新此条目的值,其中其字段名称是checkedlistbox控件的项。
你可以创建
UPDATE
语句并按如下方式执行:另一种方法是,创建一个sqlparameter类型的数组并使用它来形成
UPDATE
语句,然后将其添加到sqlcommand对象的parameters属性:另外,考虑使用
WHERE
子句,而不是字符串字段。想象一下当你执行UPDATE
命令,则在数据库中有多个条目具有相同的值Name
菲尔德(“约翰”)。