使用ADO.NET时,指定连接语句后,默认情况下是从该语句中指定的数据库里面查询数据,如果需要查询其他数据库中的数据,则在查询语句中指定数据库名、表名就可以了,条件是:“其他数据库”的登录名和密码与连接语句中所指定的一样。
下面的代码同时操作TestDB和TestDB2,并将第一个数据库中的查询结果作为第二个数据库的查询条件。
string sqlCmdString = "select * from [TestDB2].[dbo].[SchemeTable] where [TestDB2].[dbo].[SchemeTable].[Creator] in (select UserName from UserTable) ";
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCmdString, sqlConn);
sqlConn.Open();
DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet, "SchemeTable");
for (int row = 0; row < dataSet.Tables["SchemeTable"].Rows.Count; row++)
{
richTextBox1.AppendText(dataSet.Tables["SchemeTable"].Rows[row][0].ToString() + dataSet.Tables["SchemeTable"].Rows[row][1].ToString() + "/n");
}
sqlConn.Close();