2011-06-14 9 views
9

यह पहली बार है जब मैंने एसक्यूएल का उपयोग किया है और यह शायद एक बेवकूफ सवाल है लेकिन मैंने कुछ शोध किया है और मुझे नहीं लगता कि मैं जो खोज रहा हूं उसे ढूंढ रहा हूं।विज़ुअल सी # में SQL डेटाबेस को एम्बेड/संलग्न कैसे करें?

जो मैं चाहता हूं वह एक निजी SQL डेटाबेस बनाने का एक तरीका है जिसका उपयोग मेरे सी # प्रोग्राम के भीतर किया जाएगा। मैं पहले से ही SQL सर्वर एक्सप्रेस के भीतर एक डेटाबेस बनाया है और मैं जुड़ा हुआ है कि दृश्य स्टूडियो के लिए 2010.

SqlCommand DBAccess = new SqlCommand(); 
DBAccess.Connection = new SqlConnection(
    "Data Source = localhost;" + 
    "Initial Catalog = My_Database;" + 
    "Trusted_Connection = True"); 
  • मैं डेटा स्रोत मेरा कार्यक्रम में एम्बेड कर सकते हैं और के बाकी के साथ संकलित किया जाएगा समाधान?

कार्यक्रम पर कुछ अतिरिक्त पृष्ठभूमि;

यह एक ऐसा प्रोग्राम है जिसे डेटाबेस के भीतर 6 टेबलों के माध्यम से खोजना और DataRow की सामग्री आउटपुट करना आवश्यक है जब खोज स्ट्रिंग किसी विशेष फ़ील्ड से मेल खाती है।

ईजी।

Field 1  Field 2 
quick  AA 
brown  AA 
fox   AB 
jumps  AB 
over  AA 
the   AB 
lazy  AB 
dog   AA 

SEARCH_STRING = एबी

आउटपुट;

fox 
jumps 
the 
lazy 

किसी भी मदद की बहुत सराहना की जाएगी !!!!!

धन्यवाद

उत्तर

8

बस एक पकड़ (वी.एस. 2010) प्राप्त करने के लिए:

  1. एक कंसोल परियोजना
  2. बनाएं प्रणाली के लिए एक संदर्भ जोड़ें। Data.SqlServerCe (प्रोग्राम फ़ाइलों में \ Microsoft SQL सर्वर कॉम्पैक्ट संस्करण \ v3.5 \ डेस्कटॉप \ System.Data.SqlServerCe.dll मेरे कंप्यूटर पर)
  3. समाधान एक्सप्लोरर में प्रोजेक्ट नोड पर राइट क्लिक करें, "जोड़ें => नया आइटम चुनें ... "," स्थानीय डेटाबेस "चुनें, इसे नाम दें MyDB
  4. एक नया फ़ाइल MyDB.sdf परियोजना (एक एमएस एसक्यूएल सर्वर कॉम्पैक्ट डेटाबेस)
  5. राइट नई फ़ाइल क्लिक करने के लिए जोड़ दिया जाएगा, "खोलें", डेटाबेस "सर्वर एक्सप्लोरर" में खुला होगा
  6. क्लिक करें "सर्वर एक्सप्लोरर" MyDB.sdf का विस्तार, सही तालिकाओं पर क्लिक करें, "टेबल बनाएं" (नाम यह MyTable)
  7. दो कॉलम "फ़ील्ड 1" और "फ़ील्ड 2" जोड़ें (उनमें nvarchar (100) अब के लिए छोड़ दें)
  8. राइट क्लिक करें नई तालिका, "तालिका डेटा दिखाएं" चुनें, अपना डेटा भरें

कोड:

using System.Data.SqlServerCe; 

namespace ConsoleApplication6 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (var cn = new SqlCeConnection("Data Source=MyDB.sdf")) 
      { 
       cn.Open(); 
       using (var cmd = cn.CreateCommand()) 
       { 
        cmd.CommandText = "select * from MyTable where Field2 like '%AB%'"; 
        using (var reader = cmd.ExecuteReader()) 
        { 
         while (reader.Read()) 
         { 
          Console.WriteLine("Field1: {0}", reader[0]); 
         } 
        } 
       } 
      } 
      Console.ReadKey(); 
     } 
    } 
} 

आउटपुट लोमड़ी आलसी कूदता है।

लेकिन, मैं सरल उद्देश्यों के लिए SQlite के साथ जाऊंगा। रैपर यहां है: http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

2
+0

तेज़ उत्तर के लिए धन्यवाद! मैं कॉम्पैक्ट संस्करण में देखूंगा। –

3

http://en.wikipedia.org/wiki/SQL_Server_Compact हाँ, वहाँ है ऐसे प्रयोजन के लिए को देखने के लिए चाहता हूँ।

+0

तेजी से उत्तर और लिंक के लिए धन्यवाद! –

3

SQLite उपयोग करने के लिए भी, तेजी से, हल्के महान है ...

+0

धन्यवाद, उपयोगी लग रहा है! –

संबंधित मुद्दे