首頁 > 後端開發 > C++ > 為什麼`ExecuteNonQuery`在.NET中拋出「連線屬性未初始化」錯誤?

為什麼`ExecuteNonQuery`在.NET中拋出「連線屬性未初始化」錯誤?

Barbara Streisand
發布: 2025-01-05 15:54:40
原創
782 人瀏覽過

Why Does `ExecuteNonQuery` Throw a

ExecuteNonQuery:連線屬性未初始化

問題

開發人員正在執行 .NET程式時遇到錯誤,原因是「ExecuteNonQuery:連線屬性」尚未初始化」訊息。

程式碼範例

以下程式碼範例說明了該問題:

using System.Data.SqlClient;

namespace Test
{
    class Program
    {
        static void Main()
        {
            SqlConnection connection = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=syslog2;Integrated Security=True");
            SqlCommand cmd = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ");

            connection.Open();  // Connection is not assigned to the command
            cmd.ExecuteNonQuery();
            connection.Close();
        }
    }
}
登入後複製

以下程式碼範例說明了該問題:

要解決該問題,必須指派SqlCommand的連線屬性。屬性

SqlCommand cmd = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection);
登入後複製

使用語句推薦對於物件對於實現IDisposable的,例如SqlConnection,推薦使用using語句。 >最佳化連線管理

cmd.Connection = connection;
登入後複製
要最佳化效能,無需為foreach循環中的每個項目建立新的連線和資料適配器。

以上是為什麼`ExecuteNonQuery`在.NET中拋出「連線屬性未初始化」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板