2013-05-09 72 views
1

我是sql新手。 我想在组合框查看id + ' ' + namedisplaymemberidvaluemember,使SQL就像:在一张表中选择多列

SELECT id, id + ' ' + name from tblproduct; 

但是,这是行不通的!我非常感谢每一位能够帮助我的人!

+1

你能张贴您的前端代码? – 2013-05-09 09:48:27

+0

请参阅此链接http://www.dotnetfunda.com/forums/thread6294-display-two-column-values-in-a-combo-box.aspx – pudaykiran 2013-05-09 09:50:00

回答

1
SELECT id,cast(id as varchar(10)) + ' ' + name from tblproduct; 

如果如果你愿意,你可以点击下面的链接查看演示数据类型类型为nvarchar

SELECT id,id + ' ' + name from tblproduct; 

DEMO

+0

好吧!列ID和名称的类型是nvarchar! – 2013-05-09 10:32:51

+0

然后不需要转换只使用+符号。检查更新的答案 – AnandPhadke 2013-05-09 10:44:22

+0

它是这样说的: 无法解析SELECT语句中列2的排序规则冲突。 – 2013-05-09 10:56:30

0

问题的原因是'Id'列的类型是integer或uniqueidentifier。 如果从int或uniqueidentifer为varchar转换ID的类型,它会工作

+0

中的两列具有相同的排序规则!列ID和名称的类型是nvarchar!它说“冲突列2” – 2013-05-09 10:34:31

3

尝试铸造ID来VARCHAR,给别名与被选择列:

SELECT id AS Id, CAST(id AS VARCHAR) + ' ' + name AS IdAndName FROM tblproduct; 

设置valuemember = "Id"displaymember = "IdAndName"在你的代码。

+0

好吧!列ID和名称的类型是nvarchar! – 2013-05-09 10:33:07

1

下面是查询语句:

SELECT CAST(id AS VARCHAR) + ' - ' + name AS Product FROM tblproduct; 

它显示像结果:

Product 
    --------------------------- 
    1 - Microsoft Paint 
    2 - Microsoft Notepad 
    3 - Microsoft PowerPoint 
    4 - Windows 8