Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

ExecuteNonQuery:कनेक्शन गुण प्रारंभ नहीं किया गया है।

आपको SqlCommand . से कनेक्शन असाइन करने की आवश्यकता है , आप कंस्ट्रक्टर या संपत्ति का उपयोग कर सकते हैं:

cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ");
cmd.InsertCommand.Connection = connection1;

मैं using-statement . का उपयोग करने की दृढ़ता से अनुशंसा करता हूं किसी भी प्रकार के कार्यान्वयन के लिए IDisposable जैसे SqlConnection , यह कनेक्शन भी बंद कर देगा:

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;
    //.....
    connection1.Open();
    // .... you don't need to close the connection explicitely
}

इसके अलावा आपको एक नया कनेक्शन और DataAdapter . बनाने की आवश्यकता नहीं है foreach . में प्रत्येक प्रविष्टि के लिए , भले ही कनेक्शन बनाना, खोलना और बंद करना नहीं . करता हो इसका मतलब है कि ADO.NET एक भौतिक . बनाएगा, खोलेगा और बंद करेगा कनेक्शन लेकिन उपलब्ध कनेक्शन के लिए कनेक्शन-पूल में दिखता है। फिर भी यह एक अनावश्यक उपरि है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में VARCHAR और NVARCHAR डेटा प्रकार

  2. पंक्ति मानों को संयोजित करें T-SQL

  3. SQL सर्वर 2016:एक दृश्य बनाएँ

  4. SQL सर्वर 2008 लंबवत डेटा क्षैतिज करने के लिए

  5. ब्रेंट ओजर SQL सर्वर आंतरिक और बाहरी विखंडन की व्याख्या करता है