for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
OleDbConnection cnn = new OleDbConnection(Form1.con);
cnn.Open();
string aa;
aa = Form1.su;
string bb = "select c_no from course where c_name='" + checkedListBox1.Items[i].ToString() + "'";
string cc="c_no";
string str = "INSERT INTO 选课 VALUES('" + aa+ "','"+ cc+ "')";
OleDbCommand cmd = new OleDbCommand(str, cnn);
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
MessageBox.Show("添加成功");
}
}
}
http://bbs.csdn.net/topics/390437935
直接用sql, insert into.....select....
根据你的代码,可以改成这样试试:
StringBuilder SB = new StringBuilder();
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
string aa;
aa = Form1.su;
string bb = "select '" + aa + "',c_no from course where c_name='" + checkedListBox1.Items[i].ToString() + "'";
//string cc = "c_no";
SB.Append("INSERT INTO 选课 VALUES(" + bb + ") ");
}
}
using (OleDbConnection cnn = new OleDbConnection(Form1.con))
{
OleDbCommand cmd = new OleDbCommand(SB.ToString(), cnn);
int result = cmd.ExecuteNonQuery();
if (result >= 1)
{
MessageBox.Show("添加成功");
}
}
我前面有个insert的sql语句写错了,改成:
SB.Append("INSERT INTO 选课 " + bb + " ");
先输入下SB 看下语句是设呢