2014-02-22 144 views
0

我在这个查询中有一个问题, country是一个变量。 错误:国家是无效的列名..用字符串变量查询字符串串联

cmd.CommandText = "SELECT [news_id], [news_title] from [upload_news] WHERE [city]="+ country; 
+0

什么是可变的 '国家' 的价值? – Steve

回答

2

尝试:

"SELECT [news_id], [news_title] from [upload_news] WHERE [city]='"+ country +"'"; 

然而指示正确的方式做添加条件SELECT语句中使用一个变量:

cmd.CommandText = "SELECT [news_id], [news_title] from [upload_news] WHERE [city][email protected]" 
cmd.Parameters.AddWithValue("param", country); 

PS:您的第一次尝试不起作用,因为您正在执行的实际SQL会:

SELECT [news_id], [news_title] from [upload_news] WHERE [city] = USA 

VS

SELECT [news_id], [news_title] from [upload_news] WHERE [city] = 'USA' 
+0

有一个错字,修正了它 – Popo

+2

不教会使用字符串连接来建立查询命令 – Steve

+0

感谢Sanpopo现在正在工作。 –