Как выполнить команды SQL с более чем 1 строкой в ​​C # - PullRequest
3 голосов
/ 21 ноября 2011

Я хочу знать, как выполнять более одной команды SQL одновременно.

В данный момент я делаю это так:

using (SqlConnection sqlConnection1 = new SqlConnection(connectionString))
{
    using (SqlCommand cmd = new SqlCommand())
    {
        cmd.CommandText = "SELECT nome FROM teste";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = sqlConnection1;

        sqlConnection1.Open();

        // execute the command
        SqlDataReader rdr = cmd.ExecuteReader();
        while (rdr.Read())
        {
            listBox1.Items.Add(rdr["name"].ToString()); 
        }
    }
}

Но как я могу выполнить

use [databaseX]
SELECT nome FROM teste

в моей программе c #?

Ответы [ 3 ]

4 голосов
/ 21 ноября 2011

Разделяйте несколько операторов точкой с запятой (;).

(Кстати, оператор use обычно не требуется, поскольку он задан в строке подключения.)

3 голосов
/ 21 ноября 2011

SQL использует ; для разделения команд / запросов.

SELECT * FROM Table1; SELECT * FROM Table2;

приводит к наборам результатов.

3 голосов
/ 21 ноября 2011

Используйте @ для объявления строки:

cmd.CommandText = @"
    use [databaseX]
    SELECT nome FROM teste
";

ИЛИ фактически экранируйте разрыв строки:

cmd.CommandText = "use [databaseX]\nSELECT nome FROM teste";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...