C# 使用c将数据从复选框插入并更新到SQL server#

C# 使用c将数据从复选框插入并更新到SQL server#,c#,sql,checkbox,combobox,C#,Sql,Checkbox,Combobox,我是C#的新手。我从NuGet安装了一个库(带有组合框的多个复选框)。如果选中该复选框,则在SQL Server中插入1,否则在SQL Server中插入0。在普通复选框中,我知道如何插入数据,但组合框中的多个复选框帮助我解决了这个问题 代码: string[]color=新字符串[6]{“蓝色”、“红色”、“橙色”、“粉色”、“白色”、“灰色”}; for(int i=0;i

我是C#的新手。我从NuGet安装了一个库(带有组合框的多个复选框)。如果选中该复选框,则在SQL Server中插入1,否则在SQL Server中插入0。在普通复选框中,我知道如何插入数据,但组合框中的多个复选框帮助我解决了这个问题

代码:

string[]color=新字符串[6]{“蓝色”、“红色”、“橙色”、“粉色”、“白色”、“灰色”};
for(int i=0;i
使用.NET Framework中内置的SqlClient类:

using (SqlConnection conn = new SqlConnection())
{
     conn.Open();
     for (int i = 0; i < checkedComboBox1.Items.Count; i++)
     {
         using (SqlCommand cmd = new SqlCommand())
         {
             cmd.Connection = conn;
             bool isChecked = checkedComboBox1.GetItemChecked(i);
             string colour = checkedComboBox1.Items[i].ToString();
             cmd.CommandText = $"UPDATE TableName SET [{colour}] = '{(isChecked ? 1 : 0)}'";
             cmd.ExecuteNonQuery();
          }
     }
     conn.Close();
}

您正在使用什么访问SQL数据库?您使用的是.NET Framework SqlClient、EntityFramework还是其他什么?到目前为止你都试了些什么。这有点模糊..NET框架SqlClient,感谢您的回复我更新了我的图片。我想你明白我的问题是请看更新的答案,让我知道你的进展:)有什么错误?您可以将CommandText从“更新”更改为“插入到”以插入行,但这将继续插入新行,而不会更新任何现有行。cmd.CommandText=$“插入到颜色[{color}]='{(isChecked?1:0)}';获取语法错误抱歉,插入应插入颜色(列、到、插入、到)值(值、值、值、值)
using (SqlConnection conn = new SqlConnection())
{
     conn.Open();
     for (int i = 0; i < checkedComboBox1.Items.Count; i++)
     {
         using (SqlCommand cmd = new SqlCommand())
         {
             cmd.Connection = conn;
             bool isChecked = checkedComboBox1.GetItemChecked(i);
             string colour = checkedComboBox1.Items[i].ToString();
             cmd.CommandText = $"UPDATE TableName SET [{colour}] = '{(isChecked ? 1 : 0)}'";
             cmd.ExecuteNonQuery();
          }
     }
     conn.Close();
}
string blueChecked = checkedComboBox1.GetItemChecked(0) ? "1" : "0";
string redChecked = checkedComboBox1.GetItemChecked(1) ? "1" : "0";
string orangeChecked = checkedComboBox1.GetItemChecked(2) ? "1" : "0";
string pinkChecked = checkedComboBox1.GetItemChecked(3) ? "1" : "0";
string whiteChecked = checkedComboBox1.GetItemChecked(4) ? "1" : "0";
string greyChecked = checkedComboBox1.GetItemChecked(5) ? "1" : "0";

using (SqlConnection conn = new SqlConnection())
{
     conn.Open();
     using (SqlCommand cmd = new SqlCommand())
     {
          cmd.Connection = conn;
          cmd.CommandText = $"INSERT INTO Colors VALUES ({blueChecked}, {redChecked}, {orangeChecked}, " +
          $"{pinkChecked}, {whiteChecked}, {greyChecked})";
          cmd.ExecuteNonQuery();
     }
     conn.Close();
}