如何插入支票和复选框的值,并帮助我将其读取到checkbox1 = checkbox1,依此类推,并使用oledbreader感谢
的名称=文本框private void btnSave_Click(object sender, EventArgs e)
{
string n = "";
string n2 = "";
string n3 = "";
if (checkBox1.Checked == true)
{
n= "Basketball";
}
if (checkBox2.Checked == true)
{
n2 = "Cooking";
}
if (checkBox3.Checked == true)
{
n2 = "Reading";
}
try
{
connection.Open();
string query = "insert into RecordC ([Select], [Name]) values (@Select, @Name)";
OleDbCommand command = new OleDbCommand(query, connection);
command.Parameters.AddWithValue("@Select", checkBox1.Checked);
command.Parameters.AddWithValue("@Select", checkBox2.Checked);
command.Parameters.AddWithValue("@Select", checkBox3.Checked);
command.Parameters.AddWithValue("@Name", n);
command.Parameters.AddWithValue("@Name", n2);
command.Parameters.AddWithValue("@Name", n3);
command.ExecuteNonQuery();
MessageBox.Show("Added Successfully!");
connection.Close();
}
catch { }
}
答案 0 :(得分:1)
您正在尝试插入3条记录,因此您的查询应为:
string query = "insert into RecordC ([Select], [Name]) values (@Select1, @Name1),(@Select2, @Name2),(@Select3, @Name3)";
OleDbCommand command = new OleDbCommand(query, connection);
command.Parameters.AddWithValue("@Select1", checkBox1.Checked);
command.Parameters.AddWithValue("@Select2", checkBox2.Checked);
command.Parameters.AddWithValue("@Select3", checkBox3.Checked);
command.Parameters.AddWithValue("@Name1", n);
command.Parameters.AddWithValue("@Name2", n2);
command.Parameters.AddWithValue("@Name3", n3);
修改强>
正如史蒂夫所说,首先处理你的捕获(不要吞下任何异常,但最好记录它。另外,上面的语句可能在语法上是错误的(它是基于SQL Server的)。 在任何情况下,异常跟踪都将指导您完成纠正查询的步骤。
答案 1 :(得分:0)
command.Parameters.AddWithValue("@Select", checkBox1.Checked);
command.Parameters.AddWithValue("@Name", n);
command.ExecuteNonQuery();
command.Parameters.AddWithValue("@Select", checkBox2.Checked);
command.Parameters.AddWithValue("@Name", n2);
command.ExecuteNonQuery();
command.Parameters.AddWithValue("@Select", checkBox3.Checked);
command.Parameters.AddWithValue("@Name", n3);
command.ExecuteNonQuery();