我正在尝试使用ADO.NET开发应用程序.我在两个不同的数据库中有两个表.他们每个人都有一部分完整的数据.现在我需要编写一个查询,以便我能够从两个表中获取完整的记录.例如,表1具有Index_no,emp_ID和联系号.表2包含index_no,emp_name,salary和dept.index_no对于每个表中的相同记录部分是相同的.以下是获取薪水<20000的所有记录的代码.
sqlCmd2 = new SqlCommand("SELECT * FROM table1 WHERE Index_No =@Index_No",
TestCon);
int i = 0;
while (reader.Read()) {
ListBox1.Items.Add(reader.GetInt32(0) + " - " +
reader.GetString(1) + " - " + reader.GetString(2));
// Name.Text += reader["Name"] + "<br />"; ;
// Depart.Text += reader["Depart"] + "<br />"; ;
array1[i] = reader.GetInt32(0);
i++;
}
sqlCmd2.Parameters.Add("@Index_No", System.Data.SqlDbType.Decimal);
i = 0;
do {
sqlCmd2.Parameters["@Index_No"].Value = array1[i];
reader1 = sqlCmd2.ExecuteReader();
reader1.Read();
ListBox2.Items.Add(reader1.GetString(1));
i++;
} while (i < array1.Length);
Run Code Online (Sandbox Code Playgroud)
这个问题是我从table2只得到一个记录信息,而对于表1,我得到了所有想要的记录信息.do-while循环似乎仅在一次迭代后终止.