mysql - 使用变量名称创建数据库表

标签 mysql variables command

解决方法是什么?如果我需要使用变量名称创建数据库表?如果我不能使用:

MySqlCommand cmd = new MySqlCommand("CREATE TABLE @tablename;", con);

我的完整代码如下:

内部类 kurtianketa { 公共(public)静态字符串 pavadinimas { 得到; 放; }

private void button1_Click(object sender, EventArgs e)
{
    kurtianketa.pavadinimas = textBox1.Text.ToString();
    MySqlConnection con = new MySqlConnection("database=kursinis_anketa;server=localhost;uid=root;pwd=; Allow User Variables=True");

    MySqlCommand dbCmd2 = new MySqlCommand("INSERT INTO anketos (pavadinimas) VALUES ('" + textBox1.Text + "')", con);
    MySqlCommand dbCmd = new MySqlCommand("CREATE TABLE @pav ( qnr varchar(255), parametras varchar(255), ats1 varchar(255), ats2 varchar(255), ats3 varchar(255), ats4 varchar(255))", con);

    dbCmd.Parameters.Add(new MySqlParameter("@pav", kurtianketa.pavadinimas));

    try
    {

        con.Open();
        dbCmd.ExecuteNonQuery();
        dbCmd2.ExecuteNonQuery();

        MySqlDataAdapter DataAdapter1 = new MySqlDataAdapter(dbCmd);
        MySqlCommandBuilder cb = new MySqlCommandBuilder(DataAdapter1);


    }
    catch (MySqlException ex)
    {
        MessageBox.Show(ex.Message, "problema su duomenu baze");
    }
    finally
    {
        con.Close();
    }

我得到 sintax 错误,因为我不能在 mysql 命令中使用 @pav 变量:

有人可以解释我应该怎么做吗?

最佳答案

为什么不直接将表名连接到查询字符串中呢?

MySqlCommand dbCmd = new MySqlCommand("CREATE TABLE " + kurtianketa.pavadinimas + " ( 
                                         qnr varchar(255), 
                                         parametras varchar(255), 
                                         ats1 varchar(255), 
                                         ats2 varchar(255), 
                                         ats3 varchar(255), 
                                         ats4 varchar(255)
                                     )", con);

关于mysql - 使用变量名称创建数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971017/

相关文章:

php - 无法将有效变量传递给查询

javascript - 如何将 2 个 javascript 变量组合成一个字符串

Vim 命令模式

php - MySQL PHP 当知道同一个表中的另外两个值时从数据库获取值

php - 在 PHP 中,使用 "LIKE"从 MySQL 搜索结果中获取整个单词

mysql - 根据派生值最大值选择行

c# - 创建一个单一的键绑定(bind),每次用任何数字按下控件时都会触发一个命令,然后将该数字作为参数传递?

MySQL - 选择 ID 不作为外键存在于另一个表中的行

c++ - const 变量究竟是什么?

用于 Gzip 文件并将其移动到主目录的 Unix 命令