在C#中访问多个表时是否可以重用连接?
我是C#的新手。我有一个程序,可以读取单个数据库中的多个表。假设我正在阅读表A,那么在阅读之前,我必须连接到C#中的数据库。在此之后,我必须从表B中获取一些信息。我是否必须再次提供服务器信息、用户ID和密码才能连接到数据库?我们需要查看您的代码(请屏蔽您的实际用户凭据)但是,如果您使用单独的连接来执行提取,简短的回答将是肯定的。如果您的对象尚未被释放或关闭,您可以在下一次重新使用它只要用户有权从表a和表B中读取,您就可以对这两个表使用单个连接 例如,如果正在使用SqlCommands和SqlConnection,请按如下方式设置连接:在C#中访问多个表时是否可以重用连接?,c#,C#,我是C#的新手。我有一个程序,可以读取单个数据库中的多个表。假设我正在阅读表A,那么在阅读之前,我必须连接到C#中的数据库。在此之后,我必须从表B中获取一些信息。我是否必须再次提供服务器信息、用户ID和密码才能连接到数据库?我们需要查看您的代码(请屏蔽您的实际用户凭据)但是,如果您使用单独的连接来执行提取,简短的回答将是肯定的。如果您的对象尚未被释放或关闭,您可以在下一次重新使用它只要用户有权从表a和表B中读取,您就可以对这两个表使用单个连接 例如,如果正在使用SqlCommands和SqlCo
SqlConnection connection;
SqlCommand commandA;
SqlCommand commandB;
connection = new SqlConnection("some connection string");
connection.Open();
commandA = new SqlCommand();
commandA.Connection = connection;
commandB = new SqlCommand();
commandB.Connection = connection;
然后,您可以根据需要在commandA和commandB上设置CommandType和CommandText。只要连接仍然打开,并且用户可以访问这两个表,您就可以进行设置。是的,您可以。SqlConnection实现IDisPoble,因此将其包装在using块中 伪代码:
try
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
SqlCommand comm = new SqlCommand(conn);
comm.CommandText = "Select Col1, Col2 From Table1";
SqlCommand comm1 = new SqlCommand(conn);
comm.CommentText = "Select Col1, Col2 From Table2";
//Execute First Command Code
//Execute Second Command Code
} //Connection will be closed and disposed
}
catch (Exception e)
{
//Handle e - Really want to handle specific types of exceptions, like SqlExceptions etc.
}