SQLite डेटाबेस और तालिका बनाएं [बंद]


150

C # एप्लिकेशन कोड के भीतर, मैं एक या अधिक SQLite डेटाबेस के साथ बनाना और फिर इंटरैक्ट करना चाहूंगा।

मैं एक नई SQLite डेटाबेस फ़ाइल कैसे शुरू करूं और इसे पढ़ने और लिखने के लिए खोलूं?

डेटाबेस के निर्माण के बाद, मैं तालिका बनाने के लिए DDL स्टेटमेंट को कैसे निष्पादित करूं?

जवाबों:


290

अगला लिंक आपको एक महान ट्यूटोरियल में लाएगा, जिसने मुझे बहुत मदद की!

C # में SQLITE कैसे करें

मैंने अपने सी # एप्लिकेशन के लिए SQLite डेटाबेस बनाने के लिए उस लेख में लगभग सब कुछ इस्तेमाल किया।

SQLite.dll डाउनलोड करना न भूलें, और इसे अपनी परियोजना के संदर्भ के रूप में जोड़ें। यह NuGet का उपयोग करके और मैन्युअल रूप से dll जोड़कर किया जा सकता है ।

आपके द्वारा संदर्भ जोड़ने के बाद, अपनी कक्षा के शीर्ष पर निम्नलिखित पंक्ति का उपयोग करके अपने कोड से dll का संदर्भ लें:

using System.Data.SQLite;

आप यहाँ dll पा सकते हैं:

SQLite DLL का

आप NuGet रास्ता पा सकते हैं यहाँ :

NuGet

इसके बाद क्रिएट स्क्रिप्ट है। डेटाबेस फ़ाइल बनाना:

SQLiteConnection.CreateFile("MyDatabase.sqlite");

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();

string sql = "create table highscores (name varchar(20), score int)";

SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

sql = "insert into highscores (name, score) values ('Me', 9001)";

command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();

m_dbConnection.Close();

आपके द्वारा C # में एक स्क्रिप्ट बनाने के बाद, मुझे लगता है कि आप रोलबैक लेनदेन जोड़ना चाहते हैं, यह अधिक सुरक्षित है और यह आपके डेटाबेस को विफल होने से बचाए रखेगा, क्योंकि डेटा एक परमाणु ऑपरेशन के रूप में एक बड़े टुकड़े में अंत में प्रतिबद्ध होगा डेटाबेस और छोटे टुकड़ों में नहीं, जहां यह उदाहरण के लिए 10 में से 5 प्रश्नों पर विफल हो सकता है।

लेन-देन का उपयोग कैसे करें पर उदाहरण:

 using (TransactionScope tran = new TransactionScope())
 {
     //Insert create script here.

     //Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
     tran.Complete();
 }

5
अच्छा स्पष्ट जवाब। +1 किया। यहाँ एक और उदाहरण है जो आपको बताता है कि अभिलेखों को सम्मिलित करने और पुनः प्राप्त करने में SQLite कितना त्वरित हो सकता है: technical-recipes.com/2016/using-sqlite-in-c-net-en
एन्वायरनमेंट

मेरे परीक्षण System.Transactions.TransactionScopeमें उम्मीद के मुताबिक काम नहीं किया गया है, यह हर ExecuteNonQueryतुरंत और सभी को एक साथ निष्पादित करेगा , जैसा कि SQLiteTransaction। क्यों उपयोग करें TransactionScope?
मर्कल्विन

1
मैं पसंद SQLiteTransaction tr = m_dbConnection.BeginTransaction(); SQLiteCommand command = new SQLiteCommand(...); command.Transaction = tr;का उपयोग करने परTransactionScope
user643011
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.