दिलचस्प पोस्ट
ग्रहण SWT पुस्तकालयों को लोड नहीं कर सकता पर्यावरण चर के कारण ग्रहण नहीं खोलेगा स्क्रेपी और प्रॉक्सी XCode 4.2.1 (एसडीके 5.0) में पुराने आईओएस सिमुलेटर कैसे स्थापित करें मैं उपवर्तन में हमारे कोड के पुराने संस्करण पर कैसे लौटूं? दृश्य स्टूडियो में cl.exe नहीं है विभिन्न प्रकार की सूची? प्रत्येक विंडो के माध्यम से आप एक टेक्स्ट फ़ाइल में लूप कैसे करते हैं, जो कि एक विंडोज़ बैच फ़ाइल का उपयोग करते हैं? जब * * तैयार बयान का उपयोग नहीं * एपीके विस्तार फ़ाइल बनाने के लिए कदम मुझे एक नि: शुल्क .नेट (सी #) पुस्तकालय कहां मिल सकता है, जिसे मैं स्कैन और ओसीआर दस्तावेज़ों में इस्तेमाल कर सकता हूं? स्विफ्ट 2.2 में सी-स्टाइल लूप के लिए रिप्लेसमेंट हम कैसे एक NSDictionary में स्टोर कर सकते हैं? NSDictionary और NSMutableDictionary के बीच अंतर क्या है? PowerShell में किसी सरणी के सभी ऑब्जेक्ट पर एक प्रॉपर्टी के मान चुनें मेरी ऐप्पलबेल मेरी माप्प्लेटलिब प्लॉट में क्यों कट जाती है?

मैं "" "सिकलाइट में समस्या और सी # के आसपास कैसे प्राप्त करूं?

मैं माइक्रोसॉफ्ट विज़ुअल सी # 2008 एक्सप्रेस में SQLite के साथ काम कर रहा हूं।

मैं समझता हूं कि मेरे पाठ में एक apostrope (') एक क्वेरी में समस्याएं हैं मेरी समस्या यह है कि मैंने सोचा कि मैं इसे \ 'के साथ बदल सकता हूँ यह काम नहीं कर रहा है … यहाँ मेरे कोड का एक पैराडाईज नीचे का उदाहरण है:

string myString = "I can't believe it!"; cmd.CommandText = "Insert into myTable (myid,mytext) values (1,'" + myString.Replace("'","\\'") + "');"; 

मुझे जो त्रुटि मिलती है वह है: SQLite त्रुटि: "टी" के पास: सिंटैक्स त्रुटि

मैंने कुछ अन्य प्रतिस्थापन की कोशिश की … जैसे अन्य स्लैश और मैंने अपनी स्ट्रिंग को लिखा और मेरी स्ट्रिंग का एक बदली संस्करण कंसोल के लिए बाहर आ गया, यह सुनिश्चित करने के लिए कि यह सही बाहर आ रहा था।

क्या बेवकूफ त्रुटि मैं यहाँ बना रहा हूँ?

धन्यवाद!

-Adeena

Solutions Collecting From Web of "मैं "" "सिकलाइट में समस्या और सी # के आसपास कैसे प्राप्त करूं?"

रॉबर्ट द्वारा प्रस्तुत समाधान काम करेगा (यानी ' द्वारा '' जगह '' )।

वैकल्पिक रूप से आप निम्न में पैरामीटर का उपयोग कर सकते हैं:

 DbCommand cmd = new DbCommand(); DbParameter param = cmd.CreateParameter(); // ... // more code // ... cmd.CommandText = "Insert table (field) values (@param)"; param.ParameterName = "param" param.DbType = DbType.String; param.Value = @"This is a sample value with a single quote like this: '"; cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); 

मापदंडों का उपयोग करना एसक्यूएल इंजेक्शन से बचाता है, और 'समस्याएं क्यू दूर करता है

यह भी बहुत तेज है क्योंकि जब आप मापदंडों का उपयोग करते हैं तो SQLite बयान की निष्पादन योजना का पुन: उपयोग कर सकता है। जब आप मापदंडों का उपयोग नहीं करते हैं तो ऐसा नहीं हो सकता। इस उदाहरण में पैरामीटर का उपयोग करते हुए थोक निविष्टियां लगभग 3 गुना तेज होती हैं।

 private void TestInsertPerformance() { const int limit = 100000; using (SQLiteConnection conn = new SQLiteConnection(@"Data Source=c:\testperf.db")) { conn.Open(); using (SQLiteCommand comm = new SQLiteCommand()) { comm.Connection = conn; comm.CommandText = " create table test (n integer) "; comm.ExecuteNonQuery(); Stopwatch s = new Stopwatch(); s.Start(); using (SQLiteTransaction tran = conn.BeginTransaction()) { for (int i = 0; i < limit; i++) { comm.CommandText = "insert into test values (" + i.ToString() + ")"; comm.ExecuteNonQuery(); } tran.Commit(); } s.Stop(); MessageBox.Show("time without parm " + s.ElapsedMilliseconds.ToString()); SQLiteParameter parm = comm.CreateParameter(); comm.CommandText = "insert into test values (?)"; comm.Parameters.Add(parm); s.Reset(); s.Start(); using (SQLiteTransaction tran = conn.BeginTransaction()) { for (int i = 0; i < limit; i++) { parm.Value = i; comm.ExecuteNonQuery(); } tran.Commit(); } s.Stop(); MessageBox.Show("time with parm " + s.ElapsedMilliseconds.ToString()); } conn.Close(); } } 

एसक्यूएलइट ओरेकल के समान व्यवहार करता है जब यह पैरामीटरयुक्त एसक्यूएल स्टेटमेंट का उपयोग करने के महत्व की बात आती है।