Winforms 如何在SQL查询中使用字符串变量作为表名
创建winforms应用程序时,我希望SQL查询中的表名等于我调用的变量Winforms 如何在SQL查询中使用字符串变量作为表名,winforms,ms-access,Winforms,Ms Access,创建winforms应用程序时,我希望SQL查询中的表名等于我调用的变量TreeCodeName。这是我的代码: private void button1_Click(object sender, EventArgs e) { string TreeNodeName = treeView1.SelectedNode.Name.ToString(); if ((TreeNodeName == "BOOKS") ||
TreeCodeName
。这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
string TreeNodeName = treeView1.SelectedNode.Name.ToString();
if ((TreeNodeName == "BOOKS") || (TreeNodeName == "CARDS") || (TreeNodeName == "COMPUTERS") || (TreeNodeName == "CONSOLES") || (TreeNodeName == "DEVICES") || (TreeNodeName == "DONORS") || (TreeNodeName == "MAGAZINES") || (TreeNodeName == "MOTHERBOARDS") || (TreeNodeName == "OTHERS") || (TreeNodeName == "PARTS") || (TreeNodeName == "PERIPHERALS") || (TreeNodeName == "POWER_SUPPLY") || (TreeNodeName == "PROCESSORS") || (TreeNodeName == "RAMS") || (TreeNodeName == "SOFTWARE") || (TreeNodeName == "STORAGE") || (TreeNodeName == "TERMINALS"))
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "select * From Table Where Title = @Title";
command.Parameters.AddWithValue("@Title", TreeNodeName);
command.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error " + ex);
}
}
每当我尝试测试它时,我都会遇到一个错误,它表明FROM上存在语法错误。有没有办法补救这个问题?将查询字符串更新为:
stringquery=$“select*From{TreeNodeName},其中Title=@Title”代码>检查此处是否传递了正确的参数命令.Parameters.AddWithValue(“@Title”,TreeNodeName)代码>。似乎您没有传递项目的标题。