我试着用一个sql连接从不同的表中获取不同的信息。实际代码为:
sql_Verbindung.MssqlCommand.CommandText = "SELECT USER, PWD FROM " + server + ".[dbo].[table1] where USER = '12345'";
sql_Verbindung.OpenConnection();
sql_Verbindung.MssqlReader = sql_Verbindung.MssqlCommand.ExecuteReader();
if (sql_Verbindung.MssqlReader.HasRows)
{
while (sql_Verbindung.MssqlReader.Read())
{
object.Name = sql_Verbindung.MssqlReader["USER"].ToString().Trim();
object.Passwort = sql_Verbindung.MssqlReader["PWD"].ToString().Trim();
}
}
sql_Verbindung.CloseConnection();
sql_Verbindung.MssqlCommand.CommandText = "SELECT * FROM " + server + ".[dbo].[table2]";
sql_Verbindung.OpenConnection();
sql_Verbindung.MssqlReader = sql_Verbindung.MssqlCommand.ExecuteReader();
while (sql_Verbindung.MssqlReader.Read())
{
if (sql_Verbindung.MssqlReader["Live"].ToString() == "1")
{
object.database_available = true;
}
else
{
object.database_available = false;
}
}
sql_Verbindung.CloseConnection();
这很管用,但我想会更好(sql.open和sql.close显然是打开和关闭连接的。)我如何在不关闭连接的情况下获取这两个信息?如果我尝试在不关闭连接的情况下使用相同的代码,它会崩溃。提前谢谢!
1条答案
按热度按时间a7qyws3x1#
如果您的要求是从同一个数据库中获取两个表的结果集,那么为什么不使用union呢。
改善区域。
如果可能的话,使用存储过程来避免sql注入。
如果您仍然想使用内联查询,那么可以尝试使用上面提到的查询,而不是多次往返于数据库。