【发布时间】:2014-09-06 06:30:07
【问题描述】:
使用一个SELECT 查询,代码似乎可以正确添加到列表框中,但是当我添加另一个查询时,列表框不再显示任何内容,而且似乎rdr[3] 不存在(联系人有3列和Numar_contact有一列(不应该是rdr[3]这一列吗?))
string connString = @"database=Agenda_db; Data Source=Marian-PC\SQLEXPRESS; Persist Security Info=false; Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(connString);
try {
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Contact;"+ "SELECT * FROM Numar_contact", conn)
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
listBox1.Items.Add(rdr[0].ToString() + ' ' + rdr[1].ToString() + ' ' + rdr[2].ToString()+' '+ rdr[3].ToString());
}
rdr.Close();
【问题讨论】:
-
你应该知道 rdr[index] 中有什么。你有调试器吗?
-
您还应该添加
using块以正确处理您的SqlConnection、SqlCommand和SqlDataReader。 -
所以
Contact有 3 列,Numar_contact有 1 列,您期望一个结果有 4 列?正确的?如果是这样,Contact中的行如何与Numar_contact中的行相关联?或者你在做交叉申请。请在您的问题中包含这两个表的实际架构。 -
目前这两个表没有关系;我不能只将一个表中的 3 列与另一个表中的一列放入一个结果中,并且行数相同吗?
-
如果你不明白如何创建一个 UNION 查询,那么看看这个简单直接的例子stackoverflow.com/questions/13677318/…
标签: c# sql sql-server-express