2009-11-05 2 views
0

Можно ли использовать два объекта команды с одним открытым соединением в одной процедуре на VB.NET?Использование объекта SqlCommand в VB.NET

+1

Да. Вы можете использовать два или более объекта SqlCommand с одним открытым соединением. – Himadri

+1

Но вы не можете использовать один объект Command для открытия двух DataReaders. – HardCode

+0

На самом деле вы можете использовать один объект Command для открытия двух (или более) DataReaders, если в строке соединения установлено значение MultipleActiveResultSets = true. Однако использование MARS может иметь более низкую производительность, чем просто «обычный способ» с использованием одного соединения на DataReader, ваш пробег может отличаться. –

ответ

2

Да, вы можете. Пока вы не закрываете соединение между командами, он будет работать нормально.

Это C# пример, но я уверен, что вы можете работать это:

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 

    } 
+0

Спасибо вам большое! – RedsDevils

+0

Не забудьте проголосовать и принять, если он будет работать;) – GenericTypeTea

+0

Хотелось бы проголосовать, но моя репутация меньше 15.: P – RedsDevils

2

Пример; любопытное псевдо, но вы должны получить концепцию.

dim cnn as connection 
dim cmd as command 
dim cmd2 as command 
dim str1 as string 
dim str2 as string 

cnn.open 

cmd.connection = cnn 
cmd.command = str1 
cmd.execute 

cmd2.connection = cnn 
cmd2.command = str2 
cmd2.execute 

cnn.close 
+0

Спасибо, много! – RedsDevils

 Смежные вопросы

  • Нет связанных вопросов^_^