Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 如何在SQL查询中使用字符串变量作为表名_Winforms_Ms Access - Fatal编程技术网

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") ||

创建winforms应用程序时,我希望SQL查询中的表名等于我调用的变量
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)。似乎您没有传递项目的
标题。