c#中SQL语句查询问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:27:30
private void button2_Click(object sender, EventArgs e)
{

string strdatabase = this.comboBox1.Text.ToString();
string con = "server=(local);userid=sa;pwd=131313;database=" + strdatabase + "";
SqlConnection strcon = new SqlConnection(con);
String aa = listBox1.SelectedItem.ToString();
String jj;
String bb = "select * from aa";

SqlDataAdapter cc = new SqlDataAdapter(bb, strcon);
DataSet dd = new DataSet();
cc.Fill(dd);
this.dataGridView1.DataSource = dd.Tables[0].DefaultView;
}
我的button2的功能是选择listbox1中的选项,选项都是数据库中表的名称。然后点击button2,连接数据库中的表,然后显示在datagridviwe中!可是当我执行时,会弹出“aa对象无效”的提示!
是不是在SQL语句中“from”后不能接变量?
如果要实现该功能应该怎么写,请高人们指教!!
补充一点:我写的C#的系统,不是.NET的!

回4,5,6楼的朋友:很谢谢你们给的答案,但是你们给的答案还真的是没有运行成功,6楼的朋友给出的是语法的错误!!

试下7楼的啊:
String aa = listBox1.SelectedItem.ToString() ToString()后不是一个正常的字符串。

String aa = listBox1.Text.Trim();
就可以了
但是要保证有你选择的那个表
我试过了,Debug出来的值是完全正确的。

把这句String bb = "select * from aa"; 改写成String bb = "select * from " + aa;
因为aa是变量,你直接写到字符串里,会被认为是普通字符串,而不是变量。

不能直接写成select *from aa 改成
string bb = "select * from '"+ listBox1.Selecteditem.tostring() + '"";

将 String bb = "select * from aa"; 改成
String bb = "select * from "& aa &"";

String bb = "select * from "+ aa +"";

直接改成
string bb = "select * from " + aa; 试试看
你可以用调试看看 执行完 string bb = "select * from " + aa; 后bb的值是多少

dataGridView1.DataBind();

应该是这样子的,我刚才运行了一遍
选中listbox的一项为
String str=this.listBox1.SelectedItems[0].ToString();
而不是this.listBox1.SelectedItems.ToString();