Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中访问多个表时是否可以重用连接?_C# - Fatal编程技术网

在C#中访问多个表时是否可以重用连接?

在C#中访问多个表时是否可以重用连接?,c#,C#,我是C#的新手。我有一个程序,可以读取单个数据库中的多个表。假设我正在阅读表A,那么在阅读之前,我必须连接到C#中的数据库。在此之后,我必须从表B中获取一些信息。我是否必须再次提供服务器信息、用户ID和密码才能连接到数据库?我们需要查看您的代码(请屏蔽您的实际用户凭据)但是,如果您使用单独的连接来执行提取,简短的回答将是肯定的。如果您的对象尚未被释放或关闭,您可以在下一次重新使用它只要用户有权从表a和表B中读取,您就可以对这两个表使用单个连接 例如,如果正在使用SqlCommands和SqlCo

我是C#的新手。我有一个程序,可以读取单个数据库中的多个表。假设我正在阅读表A,那么在阅读之前,我必须连接到C#中的数据库。在此之后,我必须从表B中获取一些信息。我是否必须再次提供服务器信息、用户ID和密码才能连接到数据库?

我们需要查看您的代码(请屏蔽您的实际用户凭据)但是,如果您使用单独的连接来执行提取,简短的回答将是肯定的。

如果您的对象尚未被释放或关闭,您可以在下一次重新使用它

只要用户有权从表a和表B中读取,您就可以对这两个表使用单个连接

例如,如果正在使用SqlCommands和SqlConnection,请按如下方式设置连接:

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.
}