我在select sql数据库表中使用了select distinct语句和2个字段。这是我的代码。
myCommand = New SqlCommand("SELECT DISTINCT Author FROM tblBook UNION SELECT DISTINCT BookCode FROM tblBook",myConnection)
myAdapter = New SqlDataAdapter(myCommand)
myAdapter.Fill(myDataSet, "tblBook")
cboAuthor.DataSource = myDataSet.Tables(0)
cboAuthor.DisplayMember = "Author"
cboAuthor.DisplayValue = "BookCode"
并生成错误:cannot bind to the new member. Parameter name:value
。请帮忙
答案 0 :(得分:5)
您在sql语句中只选择了一列,作者。 BookCode不存在,因此它也不在数据集中。
在Sql语句中包含BookCode,它将被修复
答案 1 :(得分:5)
也许您正在寻找
SELECT DISTINCT Author, Bookcode FROM tblBook
Union用于合并行而不是列..
因此,您的查询将返回一个列,其中您拥有所有书籍代码(同样不同)的同一列中的所有autors(不同)。
答案 2 :(得分:4)
UNION操作不能以这种方式工作。
您想要一个包含两列的记录集 - 作者和BookCodes,因此您需要一个类似的查询:
SELECT DISTINCT Author, BookCode FROM tblBook
答案 3 :(得分:1)
您查询两个不同的事物。
你要么......
获取每本书的作者。在这种情况下,必须进行连接表的查询,因此union不是一个选项
您确实需要将结果作为一列,在这种情况下为列提供别名并绑定别名
SELECT DISTINCT作者AS mycolumn FROM tblBook 联盟 SELECT DISTINCT BookCode AS mycolumn FROM tblBook