Делает SqlCommand. Расположить близко соединение?

IMHO, fs.readFile() следует избегать, потому что он загружает ВСЕ файл в память и не будет вызывать обратный вызов до тех пор, пока все файлы не будут прочитаны.

Самый простой способ прочитать текстовый файл читать его по строкам. Я рекомендую BufferedReader :

new BufferedReader ("file", { encoding: "utf8" })
    .on ("error", function (error){
        console.log ("error: " + error);
    })
    .on ("line", function (line){
        console.log ("line: " + line);
    })
    .on ("end", function (){
        console.log ("EOF");
    })
    .read ();

. Для сложных структур данных, таких как .properties или json-файлов, вам нужно использовать парсер (внутри он также должен использовать буферный считыватель).

51
задан Edward Brey 16 October 2015 в 11:00
поделиться

2 ответа

Нет, Избавление эти SqlCommand не произведет Соединение. Лучший подход должен был бы также перенестись SqlConnection в блоке использования также:

using (SqlConnection conn = new SqlConnection(connstring))
{
    conn.Open();
    using (SqlCommand cmd = new SqlCommand(cmdstring, conn))
    {
        cmd.ExecuteNonQuery();
    }
}

Иначе, Соединение неизменно тем, что Команда, которая использовала его, была расположена (возможно, именно это Вы хотите?). Но имейте в виду, что от Соединения нужно избавиться также, и вероятно более важное для избавления, чем команда.

РЕДАКТИРОВАНИЕ:

я просто протестировал это:

SqlConnection conn = new SqlConnection(connstring);
conn.Open();

using (SqlCommand cmd = new SqlCommand("select field from table where fieldid = 1", conn))
{
    Console.WriteLine(cmd.ExecuteScalar().ToString());
}

using (SqlCommand cmd = new SqlCommand("select field from table where fieldid = 2", conn))
{
    Console.WriteLine(cmd.ExecuteScalar().ToString());
}

conn.Dispose();  

первая команда была расположена, когда из блока использования вышли. Соединение было все еще открыто и хорошо для второй команды.

Так, избавляясь от команды определенно не избавляется от соединения, которое она использовала.

107
ответ дан Jaans 7 November 2019 в 10:04
поделиться

SqlCommand. Расположите не будет достаточно, потому что многие SqlCommand (s) могут (ре) использование тот же SqlConnection. Центрируйте свое внимание на SqlConnection.

10
ответ дан user26320 7 November 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: