質問:
ExecuteNonQuery( )、接続プロパティが初期化されていないことを示すエラーが発生します。この問題の原因は何ですか?
回答:
エラー メッセージ「ExecuteNonQuery: Connection プロパティが初期化されていません」は、SqlConnection オブジェクトが初期化されていないことを示しています。 SqlCommand オブジェクトに適切に割り当てられています。この問題を解決するには、SqlCommand の接続プロパティを明示的に設定する必要があります。
解決策:
接続を割り当てる 1 つの方法は、SqlCommand クラスのコンストラクターを使用することです。 :
cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ", connection1);
または、接続プロパティを割り当てることもできます直接:
cmd.InsertCommand.Connection = connection1;
追加の考慮事項:
サンプル コード:
using (var connection1 = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=syslog2;Integrated Security=True")) using (var cmd = new SqlDataAdapter()) using (var insertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ")) { insertCommand.Connection = connection1; cmd.InsertCommand = insertCommand; // Other code... connection1.Open(); insertCommand.ExecuteNonQuery(); }
以上が「ExecuteNonQuery()」が「初期化されていない接続プロパティ」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。