以下代码适用于单个 DataSet,但是当我尝试使用 DataSet 数组时,SqlDataAdapter.Fill() 不起作用。基本上我要做的是连接6个不同的数据库并在它们上运行相同的sql查询并将所有数据收集在一起并在单个dataGridView中显示来自6个db的全部数据。怎么做?谢谢,
DataSet[] mySet = new DataSet[6];
DataSet finSet = new DataSet();
for (int j = 0; j <= 5; j++)
myConnection.Open();
for (int i = 0; i <= specRowCount - 2; i++)
{
cleanDesc = dataGridView2.Rows[removalPointer].Cells[1].Value.ToString().Replace("'", "''").Trim();
classname = dataGridView2.Rows[removalPointer].Cells[0].Value.ToString().Trim();
str = "use " + myDatabases[j] + " SELECT top 1 x, y, z, t, h, f, d, " +
"s, d, c, s, a, d, f, g, " +
"s, f, a, dFROM tttt where c=1 and a=1 and " +
"d='" + cleanDesc + "' and d= '" + d+ "'";
myAdapter = new SqlDataAdapter(str, myConnection);
myAdapter.Fill(mySet[j], "tttt");
if (countRows != mySet[j].Tables["tttt"].Rows.Count)
{
mySb.AppendLine(dataGridView2.Rows[removalPointer].Cells[1].Value.ToString());
dataGridView2.Rows.Remove(dataGridView2.Rows[removalPointer]);
}
else
{
removalPointer++;
}
countRows = mySet[j].Tables["tttt"].Rows.Count;
finSet.Merge(setArray[j]);
dataGridView1.DataSource = finSet.Tables["tttt"];
}
myConnection.Close();
MessageBox.Show("Con closed!");
}