Can I use two command object with one open connection in one procedure at VB.NET?
- 
        1Yes. You can use two or more SqlCommand object with one Open connection.Himadri– Himadri2009-11-05 09:53:54 +00:00Commented Nov 5, 2009 at 9:53
- 
        1But you can't use one Command object to open two DataReaders.HardCode– HardCode2009-11-06 22:19:50 +00:00Commented Nov 6, 2009 at 22:19
- 
        Actually you CAN use one Command object to open two (or more) DataReaders if you set MultipleActiveResultSets=true in the connection string. However using MARS may have slower performance than just doing it the 'normal way' using one Connection per DataReader, your mileage may vary.Jared Moore– Jared Moore2011-09-28 03:13:49 +00:00Commented Sep 28, 2011 at 3:13
                    
                        Add a comment
                    
                 | 
            
                
            
        
         
    2 Answers
Yes you can. As long as you don't close the connection between commands, it'll work fine.
This is a C# example, but I'm sure you can work it out:
    using (SqlConnection cn = new SqlConnection("Connection String"))
    {
        SqlCommand cmd1 = new SqlCommand("Command1", cn);
        cmd1.CommandType = CommandType.StoredProcedure;
        SqlCommand cmd2 = new SqlCommand("Command2", cn);
        cmd2.CommandType = CommandType.StoredProcedure;
        cn.Open();
        // Execute cmd1
        // Execure cmd2
    }
