C# 如何在C、SQL中获取所选列
在我的C项目中有下面的代码/SQL语句,但是select语句没有显示列中的值,它只显示列名称为什么 我的代码C# 如何在C、SQL中获取所选列,c#,sql,visual-studio,C#,Sql,Visual Studio,在我的C项目中有下面的代码/SQL语句,但是select语句没有显示列中的值,它只显示列名称为什么 我的代码 string Table = ListBox2.Text; string column= listBox1.GetItemText(listBox1.SelectedItem); foreach (object Tables in ListBox2.SelectedItems) { using (SqlD
string Table = ListBox2.Text;
string column= listBox1.GetItemText(listBox1.SelectedItem);
foreach (object Tables in ListBox2.SelectedItems)
{
using (SqlDataAdapter SQLStatement = new SqlDataAdapter("SELECT '"+column+"' FROM " + table, ConnectionString))
{
DataTable dt= new DataTable();
SQLStatement.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Refresh();
}
}
如果使用SELECT'+column+'FROM table_name,则生成的查询将如下所示:SELECT column FROM table_name
请试试这个:
string sqlCommandStatement = string.Format("SELECT {0} FROM {1}", column,table);
using (SqlDataAdapter SQLStatement = new SqlDataAdapter(sqlCommandStatement, ConnectionString))
{
DataTable dt= new DataTable();
SQLStatement.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Refresh();
}
是的,谢谢。8点以后我可以接受你的问题min@user7235054,不客气!当你得到min 8时,请接受答案。@Toshi,问题是如何在C中获得所选列,SQL@Toshi,参数在OP的情况下不起作用。不能将参数用于列或表名称编码不仅仅是以某种方式完成任务。如果listBox1包含Drop Table Customers或其他内容,该怎么办。表问题可以通过一个不相关的开关解决:dataGridView1.Refresh;这是多余的。dataGridView1.DataSource=dt;将使用新值更新datagridview。