解决方案是什么?如果我需要从变量创建名称数据库表?如果我不能使用:
MySqlCommand cmd = new MySqlCommand("CREATE TABLE @tablename;", con);
我的完整代码如下:
内部类kurtianketa { public static string 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 erorr cose我不能在mysql命令中使用@pav变量:
有人可以解释我该怎么办? THEX。答案 0 :(得分:0)
为什么不直接将表名连接到查询的字符串中?
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);