C# MySQL返回列名而不是其内容

C# MySQL返回列名而不是其内容,c#,.net,mysql,sql,winforms,C#,.net,Mysql,Sql,Winforms,好的,在过去的几周里,我大概写了40条精选语句。所以,我知道怎么做。我刚刚写了另一个,但这次我需要使用ComboBox值来匹配,它会不断生成列的名称(请注意,右边的列),而不是列中的内容 string st = "SELECT '" + txtchange.Text + "' FROM mysql_9269_dbase." + pages.Text + ""; MySql.Data.MySqlClient.MySqlCommand cd = new MySql.

好的,在过去的几周里,我大概写了40条精选语句。所以,我知道怎么做。我刚刚写了另一个,但这次我需要使用ComboBox值来匹配,它会不断生成列的名称(请注意,右边的列),而不是列中的内容

string st = "SELECT '" + txtchange.Text + "' 
               FROM mysql_9269_dbase." + pages.Text + "";

MySql.Data.MySqlClient.MySqlCommand cd = new MySql.Data.MySqlClient.MySqlCommand(st, msc);
cd.CommandType = CommandType.Text;
MySql.Data.MySqlClient.MySqlDataReader msdr = cd.ExecuteReader();

while(msdr.Read())
{
   txt.Text = msdr[0].ToString();
}

现在,它为什么返回列名而不是该列的内容?

丢失单引号

改变

  "SELECT '" + txtchange.Text + "' "


在sql中,您可以这样做。


string query=“Execute”(“+”从mysql_9269_dbase中选择“+txtchange.Text+”)”

为什么在来自txtchange.Text的值周围有单引号?还有,txtchange是一个组合框控件吗?@rsbarro-我确实解释了它们是什么控件,但看起来PMG小马把它删除了是的,这个代码段中的所有控件都是组合框的。关于单引号。这就是我被教导的方式,也是我在文件中读到的。另外,它还可以与我的其他select语句一起使用,在这种情况下,如果没有它们,查询将失败。@βӔḺṪẶⱫ!Ŕ我是一个SQL Server的家伙,但在SQL Server中选择“某物”只会让您返回“某物”。如果要指定列名,可以说SELECT something或SELECT[something]。看起来我需要安装MySql,这样我就可以自己检查了。我没有删除任何关于控件的内容,只是重新格式化,并删除了“谢谢”。@βӔḺṪẶⱫ有人已经发布了相同的答案,我接受。很高兴这对你有用。对不起,我没有看到你的答案!我忙着写评论!:$有意思,我不知道。谢谢
  "SELECT " + txtchange.Text + " "