2010-03-18 13 views
8

मैंने कुछ एक्सेस डीबी लिखा है और कुछ प्रकाश वीबीए का उपयोग किया है, और एक ओओ कक्षा थी। अब मैं एक सी # डीबी ऐप लिखने के लिए उपक्रम कर रहा हूं। मुझे वीएस और सिस्टम मिला है। डेटा। SQLite स्थापित और कनेक्ट है, और मेरी टेबल और कॉलम दर्ज कर चुके हैं, लेकिन वह वहीं है जहां मैं फंस गया हूं।ADO.NET क्या है?

मैं यह जानने की कोशिश कर रहा हूं कि मुझे कौन सी जानकारी और ट्यूटोरियल देखने की ज़रूरत है, लेकिन ऐसी कई शर्तें हैं जिन्हें मैं समझ नहीं पा रहा हूं और मुझे नहीं पता कि वे मेरे प्रोजेक्ट पर कैसे लागू होते हैं या नहीं।

मैंने इन शर्तों (विकिपीडिया और अन्यत्र) के लिए परिभाषाएं पढ़ी हैं, लेकिन परिभाषाएं मुझे समझ में नहीं आती हैं क्योंकि मुझे नहीं पता कि वे क्या हैं या वे कैसे फिट हैं या कौन से वैकल्पिक हैं या वैकल्पिक नहीं हैं मेरी परियोजना के लिए।

सिस्टम पर कुछ शर्तें। डेटा। SQLite वेबसाइट (मैं अपने डीबी के लिए System.Data.SQLite का उपयोग करना चाहता था)।

मुझे लगा कि मेरी परियोजना में मेरा पहला कदम डीबी और प्रश्नों को स्थापित और परीक्षण करना होगा। कृपया मुझे बताएं कि क्या पहेली के इस हिस्से के अन्य टुकड़े हैं जिन्हें मुझे भी जानना होगा। अगर मैं यह समझ सकता हूं कि क्या है, तो मैं आवश्यक ट्यूटोरियल की तलाश करना शुरू कर सकता हूं। (बीटीडब्ल्यू, मुझे पता है कि मैं ओआरएम का उपयोग नहीं करना चाहता क्योंकि मेरा ऐप इतना आसान है, और क्योंकि मैं बहुत जल्द बहुत अधिक काटने से रोकना चाहता हूं।)

आपको बहुत धन्यवाद।

SQLite.NET

फ्रेमवर्क

ADO.NET

ADO.NET प्रदाता

ADO.NET 2.0 SQLite

के लिए प्रदाता

अद्यतन: निकाली गई "इकाई की रूपरेखा "शब्द क्योंकि स्पष्ट रूप से वे ओआरएम हैं, जिनका मैं उपयोग नहीं करूँगा।

इसके अलावा, कृपया मुझसे बात करो जैसे मैं क्या अपने सीमित अनुभव को छोड़कर कुछ भी नहीं पता (ऊपर) कवर (दुर्भाग्य से उस मामले के बाद से मैं बहुत उलझन में मिल गया है इस सामग्री अनुसंधान करने के लिए प्रयास करते हुए है, सभी शर्तों अभिभूत है मुझे अधिभार-पक्षाघात में।) धन्यवाद। (ActiveX डेटा की एक विकास से ऑब्जेक्ट्स नेट से डेटा तक पहुँचने के लिए फ्रेमवर्क -

+0

मेरा सुझाव है कि आप कर सकते हैं विशिष्ट शब्दों है कि आप विकिपीडिया परिभाषा में समझ में नहीं आता के लिए कहने और जो खुद को अपने स्वयं के विकिपीडिया लेख में परिभाषित नहीं कर रहे हैं। –

उत्तर

7

शिथिल, आसान में बात

ADO.NET आदेश और वस्तुओं है कि आपके आवेदन एक डेटाबेस से बात करने की अनुमति के एक पुस्तकालय है। यदि आपने वीबी 6/सी ++ में एडीओडीबी का उपयोग किया है तो ADO.NET .net (vb.net/C#) समतुल्य है। ADO.NET आपको एक ऑब्जेक्ट ऑब्जेक्ट, डेटासेट और डेटाएडर ऑब्जेक्ट्स जैसे ऑब्जेक्ट प्रदान करता है।

ADO.NET प्रदाता ग्राफिक्स या डिवाइस ड्राइवर जैसे प्रदाता के बारे में सोचें। प्रत्येक बार जब आप अपने कंप्यूटर के अंदर एक अलग ग्राफिक्स कार्ड डालते हैं तो आपको अपने ग्राफिक्स कार्ड को सर्वोत्तम तरीके से काम करने के लिए एक नया ग्राफिक्स ड्राइवर होना चाहिए। ADO.NET के लिए यह भी सही है कि आप प्रत्येक अलग-अलग प्रकार के डेटाबेस से कनेक्ट होते हैं (जैसे माइक्रोसॉफ्ट एक्सेस, माइक्रोसॉफ्ट एसक्यूएल सर्वर, माईएसक्यूएल, साइबेस, ओरेकल इत्यादि) आपको एक अलग ADODB.Net प्रदाता की आवश्यकता होगी। SQL सर्वर या MySQL करने के लिए एक हल्के प्रतियोगी के रूप में यह के बारे में सोच - एक मुट्ठी मानक के रूप में आते हैं (उदाहरण के लिए, एसक्यूएल सर्वर के लिए प्रदाता)

SQLite.NET एक डाटाबेस सर्वर या RDBMS है।

SQLite के लिए ADO.NET 2.0 प्रदाता पिछले दो उत्तरों को जोड़ो!

SQLite इकाई की रूपरेखा और SQLite इकाई की रूपरेखा प्रदाता यह एक पूरी अलग विषय पूरी तरह से है। ऑब्जेक्ट रिलेशनल मैपिंग

+0

धन्यवाद CResults। क्या एडीओ.NET पुस्तकालय वीएस/सी # में मानक आते हैं? (मैं एडीओडीबी से परिचित नहीं हूं।) यदि एडीओ.NET पुस्तकालय है, तो ADO.NET प्रदाता क्या करता है? – ChrisC

+0

हां, यह वीएस/सी # के साथ आता है क्योंकि यह डॉट नेट फ्रेमवर्क का हिस्सा है और सिस्टम के तहत रहता है। डेटा नामस्थान। उपरोक्त ADO.NET प्रदाता को मेरा संपादन देखें। – CResults

+0

गोटो, मुझे लगता है। इसलिए जब से मैं अपने डीबी के रूप में SQLite का उपयोग कर रहा हूं, और System.Data.SQLite स्थापित किया है, और एक डीबी बनाया है और वीएस में रहते हुए मेरी टेबल और कॉलम की कुंजी बनाई है, तो इसका मतलब है कि System.Data.SQLite मेरा प्रदाता है और मैं ' मीटर उस बिंदु के बारे में कवर किया? – ChrisC

4

मैं के बाद से यह आपके प्रश्नों के एक जोड़े के लिए आधार ...

ADO.NET है सूची में इकाई की रूपरेखा जोड़ा वीबी)

SQLite.NET - नेट पुस्तकालय SQLite डेटाबेस

तक पहुँचने के लिए

ADO.NET प्रदाता - विभिन्न डेटा स्रोतों कि ADO.NET के अनुरूप के लिए .NET प्रदाता मानकों। SQLite के लिए

ADO.NET 2.0 प्रदाता - SQLite के लिए .NET 2.0 संगत ADO.NET प्रदाता (यह क्या SQLite.NET है)

Enitity Framework - एक माइक्रोसॉफ्ट को वस्तु संबंधपरक मैपर प्रदान की एडीओ से डेटा मैप में मदद करें।अपने आवेदन में ऑब्जेक्ट्स पर वापस नेट करें (स्वयं को सभी एसक्यूएल लिखने के बजाय)।

SQLite इकाई फ्रेमवर्क - यह SQLite डेटाबेस के लिए ADO.NET इकाई फ्रेमवर्क है।

SQLite इकाई की रूपरेखा प्रदाता - SQLite के लिए ADO.NET 2.0 प्रदाता (ADO.NET प्रदाता आधार इकाई की रूपरेखा के शीर्ष पर आधारित है, प्रदान करते हैं) के लिए एक और शब्द।

+0

धन्यवाद जस्टिन। एक अन्य उत्तरदाता ने कहा कि एडीओ.NET पुस्तकालय है जिसका प्रयोग डीबी के साथ संवाद करने के लिए किया जाता है, लेकिन आपके पास यह है कि एडीओ.NET एक "ढांचा" है। क्या यह वही चीज है? साथ ही, आपके पास SQLite.NET लाइब्रेरी है। क्या SQLite.NET पुस्तकालयों का मतलब है कि मैं ADO.NET पुस्तकालयों का उपयोग नहीं करूंगा? – ChrisC

+0

ADO.NET एक फ्रेमवर्क है ... जिसमें से एक हिस्सा ADO.NET प्रदाता हैं जो डेटाबेस (SQL सर्वर, ओरेकल, SQLite, आदि) को वास्तविक इंटरफ़ेस प्रदान करते हैं। SQLite.NET SQLite डेटाबेस के लिए ADO.NET प्रदाता है (इसलिए जब आप SQLite का उपयोग कर रहे हैं, तो आप ADO.NET का उपयोग कर रहे हैं)। –

0

यह .NET में डेटा एक्सेस फ्रेमवर्क है।

DataTables और DataAdapters यदि आप पूरी तरह से खो गए हैं तो शुरू करने के लिए शायद अच्छे स्थान हैं।

1

इस विषय को कवर करने के लिए बड़ी संख्या में किताबें लिखी गई हैं ... इसलिए यह एक संपूर्ण उत्तर नहीं होगा, लेकिन यह आपको शुरू करने के लिए आवश्यक आवश्यक जानकारी देगा। और यह बहुत सरल है।

ADO.NET एक ढांचा है जो आपको स्मृति में, डाटाबेस (स्थायी भंडारण) से पुनर्प्राप्त डेटा को प्रबंधित करने और वस्तुओं (टेक्स्टबॉक्स, आदि) को प्रदर्शित करने के लिए कनेक्ट करने की अनुमति देता है। एक्सेस डेटाबेस में सभी "परतें" शामिल हैं (फॉर्म, क्वेरी, टेबल) और आपको जानकारी पुनर्प्राप्त करने और उन्हें प्रदर्शित करने के लिए गतिविधियों के साथ बहुत अधिक गड़बड़ नहीं है। हालांकि, अब जब आप विजुअल स्टूडियो प्रोजेक्ट में स्नातक हैं, तो आपको प्रत्येक परत को प्रबंधित करने की आवश्यकता है।

  1. अपने डेटाबेस बनाएं
  2. डेटा के साथ आबाद
  3. संग्रहित प्रक्रियाओं (डेटाबेस में) बनाएँ, या SQL कथन (आवेदन में) लिखने कमान वस्तुओं का उपयोग करके पुन: प्राप्त करने, सम्मिलित करने, हटाने, अद्यतन डेटा
  4. एक डेटा प्रदाता (SQLite, MSSQL, MySQL के लिए, ओरेकल) स्थापित करें
  5. बिल्ड उपयोगकर्ता इंटरफ़ेस
  6. इंटरफ़ेस घटनाक्रम में, एक ADO.NET प्रदाता कनेक्शन, अनुकूलक, और कमांड/तालिका का एक उदाहरण बनाने obje सीटीएस।
  7. कमांड ऑब्जेक्ट्स (और डेटा रीडर) का उपयोग करके, SELECT स्टेटमेंट का उपयोग करके डेटा पुनर्प्राप्त करें; और बाद में डेटा को वापस रखने के लिए अद्यतन, सम्मिलित करें, हटाएं कथन का उपयोग कर।
  8. रीडर फ़ील्ड को संदर्भित करके इंटरफ़ेस टेक्स्ट बॉक्स अपडेट करें।

भागों में 3-7 आप अपने अधिकांश काम (सामान जो आप पूछ रहे हैं) करेंगे; आप डेटा प्रदाता (SQLite) + कनेक्शन स्ट्रिंग (कैटलॉग नाम, उपयोगकर्ता नाम, पासवर्ड, कनेक्शन प्रकार के साथ) का उपयोग कर डेटा स्रोत से कनेक्ट करने के लिए ADO.net का उपयोग करेंगे। फिर, डेटा पुनर्प्राप्ति और डेटाबेस से डेटा को प्राप्त करने और धक्का देने के लिए कनेक्शन (कनेक्शन कनेक्ट करने के लिए), एडाप्टर (होल्डिंग एरिया बनाने के लिए), और डेटाटेबल्स (मेमोरी में टेबल) जैसे ऑब्जेक्ट्स का उपयोग करें (स्थिर स्थायी डेटा)।

+0

क्यू: मैं जो कुछ समझने की कोशिश कर रहा हूं उसका हिस्सा यह है कि मेरा डीबी (टैबकेस और कॉलम पूरा किए जाने) को कैसे पूरा करना है। संबंधों जैसी चीजें, आदि चरण 3 पर प्रश्न: मैं कैसे तय करूं कि प्रश्न डीबी में या ऐप में होना चाहिए या नहीं? चरण 4 पर प्रश्न: क्या मैंने प्रदाता को पहले से इंस्टॉल नहीं किया है (क्योंकि मैं वीएस से डीबी स्थापित कर रहा हूं)? – ChrisC

0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Text; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

namespace DAL 
{ 
    public class DBUtility 
    { 
     public static SqlConnection getconnection() 
     { 

      SqlConnection dbconnection = null; 
      ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["constr"]; 
      if(settings!=null) 
      { 
       string str = settings.ConnectionString; 
       dbconnection = new SqlConnection(str); 
      } 
      return dbconnection; 
     } 
    } 




     public int createasn(IShipmentBO objBO) 
     { 
      int ret = 0; 
      SqlConnection conn = DBUtility.getconnection(); 
      conn.Open(); 
      SqlCommand cmd = new SqlCommand(); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.CommandText = "sp_CreateASN"; 
      cmd.Connection = conn; 
      cmd.Parameters.AddWithValue("@POnumber", objBO.Ponum); 
      cmd.Parameters.AddWithValue("@Unitsdelivered", objBO.Unitsdel); 
      cmd.Parameters.AddWithValue("@Totalprice", objBO.Totalprice); 
      cmd.Parameters.AddWithValue("@Expdeldate", objBO.Asnstatus);  
      ret = cmd.ExecuteNonQuery(); 
      conn.Close(); 

      return ret; 
     } 





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