问题描述
- 如何在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 看下语句是设呢