我使用此语句来组合2个列值。
select concat(l_name," ",f_name) as "Full Name" from students;
我在dreamcoder中尝试了这个语句并且它工作正常但是当我在我的c#中使用这个语句时,它给了我一个没有方法重载的错误。当我把它放在c#中时,似乎concat()被认为是一个方法重载。有什么方法可以在我的c#中使用这个陈述吗?
public DataTable ExecuteQuery(string cmdtext)
{
DataTable table = new DataTable();
var refDataAdapter = new MySqlDataAdapter(new MySqlCommand(cmdtext, CN));
refDataAdapter.Fill(table);
return table;
}
dataGridView1.DataSource = ExecuteQuery("select concat(l_name,", ",f_name) as FullName from students");
我用这段代码来填充我的datagridview上的表格
答案 0 :(得分:2)
我认为问题是分隔符。在SQL中,您应该使用单引号作为常量字符串,因此您可以使用:
"select concat(l_name, ', ', f_name) as FullName from students"
查询。
那将是:
dataGridView1.DataSource = ExecuteQuery("select concat(l_name, ', ', f_name) as FullName from students");
答案 1 :(得分:1)
您也可以使用:
SELECT l_name+' '+f_name AS FullName FROM [Students];
最好将查询保存在字符串中并将字符串传递给尊重函数,即
string query = @"SELECT l_name+' '+f_name AS FullName FROM [Students]";
dataGridView1.DataSource = ExecuteQuery(query);