如何在c#中从数据库中提取数据并将数据存在另一表中

 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 看下语句是设呢