C# डेटाबेस कनेक्शन: SQL सर्वर से कैसे कनेक्ट करें (उदाहरण)
यह विभिन्न प्रकार के डेटाबेस के साथ काम कर सकता है। यह सबसे आम डेटाबेस के साथ काम कर सकता है जैसे Oracle और Microsoft एसक्यूएल सर्वर।
यह डेटाबेस के नए रूपों के साथ भी काम कर सकता है जैसे MongoDB और MySQL.
डेटाबेस कनेक्टिविटी के मूल सिद्धांत
C# और .Net अधिकांश डेटाबेस के साथ काम कर सकते हैं, जिनमें सबसे आम हैं Oracle और Microsoft SQL Serverलेकिन हर डेटाबेस के साथ काम करने के पीछे का तर्क लगभग एक जैसा ही है।
हमारे उदाहरणों में, हम काम करने के तरीके को देखेंगे Microsoft SQL Server हमारे डेटाबेस के रूप में। सीखने के उद्देश्यों के लिए, कोई भी डाउनलोड और उपयोग कर सकता है Microsoft SQL Server एक्सप्रेस संस्करण, जो कि एक निःशुल्क डेटाबेस सॉफ्टवेयर है Microsoft.
डेटाबेस के साथ काम करते समय, निम्नलिखित अवधारणाएं सभी डेटाबेस के लिए सामान्य हैं।
- संबंध - डेटाबेस में डेटा के साथ काम करने के लिए, पहला स्पष्ट कदम कनेक्शन है। डेटाबेस से कनेक्शन में आम तौर पर नीचे बताए गए पैरामीटर शामिल होते हैं।
- डेटाबेस का नाम या डेटा स्रोत - पहला महत्वपूर्ण पैरामीटर डेटाबेस का नाम है जिससे कनेक्शन स्थापित किया जाना है। प्रत्येक कनेक्शन एक समय में केवल एक डेटाबेस के साथ काम कर सकता है।
- साख – अगला महत्वपूर्ण पहलू उपयोगकर्ता नाम और पासवर्ड है जिसका उपयोग डेटाबेस से कनेक्शन स्थापित करने के लिए किया जाना चाहिए। यह सुनिश्चित करता है कि उपयोगकर्ता नाम और पासवर्ड के पास डेटाबेस से कनेक्ट करने के लिए आवश्यक विशेषाधिकार हैं।
- वैकल्पिक पैरामीटर - प्रत्येक डेटाबेस प्रकार के लिए, आप .net को डेटाबेस से कनेक्शन को कैसे संभालना चाहिए, इस बारे में अधिक जानकारी प्रदान करने के लिए वैकल्पिक पैरामीटर निर्दिष्ट कर सकते हैं। उदाहरण के लिए, कोई व्यक्ति यह निर्दिष्ट कर सकता है कि कनेक्शन कितने समय तक सक्रिय रहना चाहिए। यदि किसी विशिष्ट अवधि के लिए कोई ऑपरेशन नहीं किया जाता है, तो पैरामीटर यह निर्धारित करेगा कि कनेक्शन को बंद करना है या नहीं।
- डेटाबेस से डेटा का चयन करना - एक बार कनेक्शन स्थापित हो जाने के बाद, अगला महत्वपूर्ण पहलू डेटाबेस से डेटा प्राप्त करना है। C# डेटाबेस के विरुद्ध 'SQL' सेलेक्ट कमांड निष्पादित कर सकता है। 'SQL' कथन का उपयोग डेटाबेस में किसी विशिष्ट तालिका से डेटा प्राप्त करने के लिए किया जा सकता है।
- डाटाबेस में डेटा डालना - C# का उपयोग डेटाबेस में रिकॉर्ड डालने के लिए भी किया जा सकता है। डेटाबेस में डाली जाने वाली प्रत्येक पंक्ति के लिए C# में मान निर्दिष्ट किए जा सकते हैं।
- डेटाबेस में डेटा अपडेट करना - C# का उपयोग डेटाबेस में मौजूदा रिकॉर्ड को अपडेट करने के लिए भी किया जा सकता है। डेटाबेस में अपडेट की जाने वाली प्रत्येक पंक्ति के लिए C# में नए मान निर्दिष्ट किए जा सकते हैं।
- डेटाबेस से डेटा हटाना - C# का उपयोग डेटाबेस में रिकॉर्ड को हटाने के लिए भी किया जा सकता है। C# में यह निर्दिष्ट करने के लिए कमांड का चयन किया जा सकता है कि किन पंक्तियों को हटाया जाना चाहिए।
ठीक है, अब जब हमने प्रत्येक ऑपरेशन के सिद्धांत को देख लिया है, तो आइए आगे के अनुभागों में जाएं और देखें कि हम C# में डेटाबेस ऑपरेशन कैसे कर सकते हैं।
C# में SQL कमांड
C# में SqlCommand उपयोगकर्ता को क्वेरी करने और डेटाबेस को कमांड भेजने की अनुमति दें। SQL कमांड SQL कनेक्शन ऑब्जेक्ट द्वारा निर्दिष्ट किया जाता है। दो विधियों का उपयोग किया जाता है, क्वेरी के परिणामों के लिए ExecuteReader विधि और सम्मिलित, अद्यतन और हटाने के आदेशों के लिए ExecuteNonQuery विधि। यह वह विधि है जो विभिन्न आदेशों के लिए सबसे अच्छी है।
C# को डेटाबेस से कैसे कनेक्ट करें
आइए अब उस कोड को देखें, जिसे डेटाबेस से कनेक्शन बनाने के लिए बनाए रखना होगा। हमारे उदाहरण में, हम Demodb नाम के डेटाबेस से कनेक्ट करेंगे। डेटाबेस से कनेक्ट करने के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल नीचे दिए गए हैं
- उपयोगकर्ता नाम – sa
- पासवर्ड – demo123
हम एक सरल देखेंगे Windows फॉर्म आवेदन डेटाबेस के साथ काम करने के लिए। हमारे पास “कनेक्ट” नामक एक सरल बटन होगा जिसका उपयोग डेटाबेस से कनेक्ट करने के लिए किया जाएगा।
तो आइए इसे प्राप्त करने के लिए नीचे दिए गए चरणों का पालन करें
चरण 1) पहले चरण में Visual Studio में एक नया प्रोजेक्ट बनाना शामिल है। Visual Studio लॉन्च करने के बाद, आपको मेनू विकल्प New->Project चुनना होगा।
चरण 2) अगला चरण परियोजना के प्रकार का चयन करना है Windows फॉर्म आवेदन। यहां, हमें अपनी परियोजना का नाम और स्थान भी बताना होगा।
- प्रोजेक्ट डायलॉग बॉक्स में, हम Visual Studio में विभिन्न प्रकार के प्रोजेक्ट बनाने के लिए विभिन्न विकल्प देख सकते हैं। Windows बायीं ओर विकल्प पर क्लिक करें।
- जब हम क्लिक करते हैं Windows पिछले चरण में, हम एक विकल्प देख पाएंगे Windows फॉर्म आवेदन। इस विकल्प पर क्लिक करें।
- फिर हम एप्लीकेशन के लिए एक नाम देते हैं जो हमारे मामले में "डेमोएप्लीकेशन" है। हमें अपने एप्लीकेशन को स्टोर करने के लिए एक स्थान भी प्रदान करना होगा।
- अंत में, हम विजुअल स्टूडियो को अपना प्रोजेक्ट बनाने की अनुमति देने के लिए 'ओके' बटन पर क्लिक करते हैं।
चरण 3) अब टूलबॉक्स से एक बटन जोड़ें Windows फ़ॉर्म. बटन की टेक्स्ट प्रॉपर्टी को कनेक्ट के रूप में रखें. यह इस तरह दिखेगा
चरण 4) अब फॉर्म पर डबल क्लिक करें ताकि बटन क्लिक इवेंट के लिए कोड में एक इवेंट हैंडलर जुड़ जाए। इवेंट हैंडलर में, नीचे दिया गया कोड जोड़ें।
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DemoApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connetionString;
SqlConnection cnn;
connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";
cnn = new SqlConnection(connetionString);
cnn.Open();
MessageBox.Show("Connection Open !");
cnn.Close();
}
}
}
Code स्पष्टीकरण: -
- पहला चरण वेरिएबल्स बनाना है, जिनका उपयोग कनेक्शन स्ट्रिंग और SQL सर्वर डाटाबेस से कनेक्शन बनाने के लिए किया जाएगा।
- अगला चरण कनेक्शन स्ट्रिंग बनाना है। C# को कनेक्शन स्ट्रिंग को समझने के लिए कनेक्टिंग स्ट्रिंग को सही ढंग से निर्दिष्ट किया जाना चाहिए। कनेक्शन स्ट्रिंग में निम्नलिखित भाग होते हैं
- डेटा स्रोत - यह उस सर्वर का नाम है जिस पर डेटाबेस रहता है। हमारे मामले में, यह WIN- 50GP30FGO75 नामक मशीन पर रहता है।
- प्रारंभिक कैटलॉग का उपयोग डेटाबेस का नाम निर्दिष्ट करने के लिए किया जाता है
- यूजर आईडी और पासवर्ड डेटाबेस से कनेक्ट करने के लिए आवश्यक क्रेडेंशियल हैं।
- इसके बाद, हम कनेक्टिंग स्ट्रिंग को वेरिएबल cnn को असाइन करते हैं। वेरिएबल cnn, जो SqlConnection प्रकार का है, का उपयोग डेटाबेस से कनेक्शन स्थापित करने के लिए किया जाता है।
- इसके बाद, हम डेटाबेस से कनेक्शन खोलने के लिए cnn वेरिएबल की Open विधि का उपयोग करते हैं। फिर हम उपयोगकर्ता को केवल एक संदेश प्रदर्शित करते हैं कि कनेक्शन स्थापित हो गया है।
- एक बार जब ऑपरेशन सफलतापूर्वक पूरा हो जाता है, तो हम डेटाबेस से कनेक्शन बंद कर देते हैं। यदि डेटाबेस पर कुछ और करने की आवश्यकता नहीं है, तो डेटाबेस से कनेक्शन बंद करना हमेशा एक अच्छा अभ्यास है।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को Visual Studio का उपयोग करके निष्पादित किया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा। फ़ॉर्म प्रदर्शित होने के बाद, कनेक्ट बटन पर क्लिक करें।
आउटपुट: -
जब आप “कनेक्ट” बटन पर क्लिक करते हैं, तो आउटपुट से आप देख सकते हैं कि डेटाबेस कनेक्शन स्थापित हो गया है। इसलिए, संदेश बॉक्स प्रदर्शित किया गया।
SqlDataReader के साथ डेटा तक पहुँचें
यह दिखाने के लिए कि C# का उपयोग करके डेटा तक कैसे पहुँचा जा सकता है, आइए हम मान लें कि हमारे डेटाबेस में निम्नलिखित आर्टिफैक्ट्स हैं।
- demotb नामक एक तालिका। इस तालिका का उपयोग विभिन्न ट्यूटोरियल की आईडी और नामों को संग्रहीत करने के लिए किया जाएगा।
- तालिका में 2 कॉलम होंगे, एक को "ट्यूटोरियलआईडी" और दूसरे को "ट्यूटोरियलनाम" कहा जाएगा।
- फिलहाल, तालिका में 2 पंक्तियाँ होंगी जैसा कि नीचे दिखाया गया है।
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
आइए अपने फॉर्म में कोड बदलें, ताकि हम इस डेटा के लिए क्वेरी कर सकें और मैसेजबॉक्स के माध्यम से जानकारी प्रदर्शित कर सकें। ध्यान दें कि नीचे दर्ज किया गया सभी कोड पिछले अनुभाग में डेटा कनेक्शन के लिए लिखे गए कोड का ही विस्तार है।
चरण 1) आइए कोड को दो भागों में विभाजित करें ताकि उपयोगकर्ता के लिए इसे समझना आसान हो जाए।
- पहला काम होगा अपना “select” स्टेटमेंट बनाना, जिसका उपयोग डेटाबेस से डेटा पढ़ने के लिए किया जाएगा।
- फिर हम डेटाबेस के विरुद्ध “select” कथन निष्पादित करेंगे और तदनुसार सभी तालिका पंक्तियों को प्राप्त करेंगे।
Code स्पष्टीकरण: -
- पहला चरण निम्नलिखित चर बनाना है
- SQLCommand - 'SQLCommand' C# में परिभाषित एक क्लास है। इस क्लास का उपयोग डेटाबेस में पढ़ने और लिखने के संचालन के लिए किया जाता है। इसलिए, पहला कदम यह सुनिश्चित करना है कि हम इस क्लास का एक वैरिएबल प्रकार बनाएँ। इस वैरिएबल का उपयोग हमारे डेटाबेस से डेटा पढ़ने के बाद के चरणों में किया जाएगा।
- डेटा रीडर ऑब्जेक्ट का उपयोग SQL क्वेरी द्वारा निर्दिष्ट सभी डेटा प्राप्त करने के लिए किया जाता है। फिर हम डेटा रीडर का उपयोग करके सभी तालिका पंक्तियों को एक-एक करके पढ़ सकते हैं।
- फिर हम 2 स्ट्रिंग वैरिएबल परिभाषित करते हैं, एक “SQL” है जो हमारे SQL कमांड स्ट्रिंग को होल्ड करता है। अगला “आउटपुट” है जिसमें सभी टेबल वैल्यू शामिल होंगी।
- अगला चरण SQL कथन को परिभाषित करना है, जिसका उपयोग हमारे डेटाबेस के विरुद्ध किया जाएगा। हमारे मामले में, यह "Demotb से TutorialID, TutorialName चुनें" है। यह टेबल Demotb से सभी पंक्तियाँ प्राप्त करेगा।
- इसके बाद, हम कमांड ऑब्जेक्ट बनाते हैं जिसका उपयोग डेटाबेस के विरुद्ध SQL स्टेटमेंट को निष्पादित करने के लिए किया जाता है। SQL कमांड में, आपको कनेक्शन ऑब्जेक्ट और SQL स्ट्रिंग को पास करना होगा।
- इसके बाद, हम डेटा रीडर कमांड निष्पादित करेंगे, जो demotb तालिका से सभी पंक्तियों को लाएगा।
- अब जबकि हमारे पास टेबल की सभी पंक्तियाँ हैं, हमें पंक्तियों को एक-एक करके एक्सेस करने के लिए एक तंत्र की आवश्यकता है। इसके लिए, हम while कथन का उपयोग करेंगे। डेटा रीडर से पंक्तियों को एक-एक करके एक्सेस करने के लिए while कथन का उपयोग किया जाएगा। फिर हम TutorialID और TutorialName का मान प्राप्त करने के लिए GetValue विधि का उपयोग करते हैं।
चरण 2) अंतिम चरण में, हम उपयोगकर्ता को केवल आउटपुट दिखाएंगे और डेटाबेस ऑपरेशन से संबंधित सभी ऑब्जेक्ट्स को बंद कर देंगे।
Code स्पष्टीकरण: -
- हम Message का उपयोग करके Output variable का मान प्रदर्शित करके अपना कोड जारी रखेंगेBoxआउटपुट वेरिएबल में demotb तालिका के सभी मान शामिल होंगे।
- अंत में हम अपने डेटाबेस ऑपरेशन से संबंधित सभी ऑब्जेक्ट्स को बंद कर देते हैं। याद रखें कि यह हमेशा एक अच्छा अभ्यास है।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को Visual Studio का उपयोग करके चलाया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा। फ़ॉर्म प्रदर्शित होने के बाद, कनेक्ट बटन पर क्लिक करें।
आउटपुट: -
आउटपुट से आप साफ़ तौर पर देख सकते हैं कि प्रोग्राम डेटाबेस से मान प्राप्त करने में सक्षम था। फिर डेटा मैसेज बॉक्स में प्रदर्शित होता है।
C# डेटाबेस में डालें
डेटा एक्सेस करने की तरह ही, C# में भी डेटाबेस में रिकॉर्ड डालने की क्षमता है। अपने डेटाबेस में रिकॉर्ड डालने का तरीका दिखाने के लिए, आइए ऊपर इस्तेमाल की गई टेबल संरचना को ही लें।
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
आइए अपने फॉर्म में कोड बदलें, ताकि हम तालिका में निम्नलिखित पंक्ति सम्मिलित कर सकें
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 3 | VB.Net |
तो चलिए अपने प्रोग्राम में निम्नलिखित कोड जोड़ते हैं। नीचे दिए गए कोड स्निपेट का उपयोग हमारे डेटाबेस में मौजूदा रिकॉर्ड डालने के लिए किया जाएगा।
Code स्पष्टीकरण: -
- पहला चरण निम्नलिखित चर बनाना है
- SQLCommand – इस डेटा प्रकार का उपयोग उन ऑब्जेक्ट को परिभाषित करने के लिए किया जाता है जिनका उपयोग डेटाबेस के विरुद्ध SQL संचालन करने के लिए किया जाता है। यह ऑब्जेक्ट SQL कमांड को होल्ड करेगा जो हमारे SQL सर्वर डेटाबेस के विरुद्ध चलेगा।
- डेटाएडाप्टर ऑब्जेक्ट का उपयोग विशिष्ट SQL ऑपरेशन जैसे इन्सर्ट, डिलीट और अपडेट कमांड निष्पादित करने के लिए किया जाता है।
- फिर हम एक स्ट्रिंग वेरिएबल परिभाषित करते हैं, जो हमारी SQL कमांड स्ट्रिंग को रखने के लिए “SQL” है।
- अगला चरण वास्तव में SQL कथन को परिभाषित करना है जिसका उपयोग हमारे डेटाबेस के विरुद्ध किया जाएगा। हमारे मामले में, हम एक इन्सर्ट कथन जारी कर रहे हैं, जो TutorialID=1 और TutorialName=VB.Net का रिकॉर्ड सम्मिलित करेगा
- इसके बाद, हम कमांड ऑब्जेक्ट बनाते हैं जिसका उपयोग डेटाबेस के विरुद्ध SQL स्टेटमेंट को निष्पादित करने के लिए किया जाता है। SQL कमांड में, आपको कनेक्शन ऑब्जेक्ट और SQL स्ट्रिंग को पास करना होगा
- हमारे डेटा एडाप्टर कमांड में, अब हम अपने एडाप्टर से इन्सर्ट SQL कमांड को जोड़ते हैं। फिर हम ExecuteNonQuery विधि भी जारी करते हैं जिसका उपयोग हमारे डेटाबेस के विरुद्ध इन्सर्ट स्टेटमेंट को निष्पादित करने के लिए किया जाता है। 'ExecuteNonQuery' विधि का उपयोग C# में डेटाबेस के विरुद्ध कोई भी DML स्टेटमेंट जारी करने के लिए किया जाता है। DML स्टेटमेंट से हमारा मतलब इन्सर्ट, डिलीट और अपडेट ऑपरेशन से है। C# में, यदि आप किसी टेबल के विरुद्ध इनमें से कोई भी स्टेटमेंट जारी करना चाहते हैं, तो आपको ExecuteNonQuery विधि का उपयोग करना होगा।
- अंत में हम अपने डेटाबेस ऑपरेशन से संबंधित सभी ऑब्जेक्ट्स को बंद कर देते हैं। याद रखें कि यह हमेशा एक अच्छा अभ्यास है।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को Visual Studio का उपयोग करके निष्पादित किया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा। फ़ॉर्म प्रदर्शित होने के बाद, कनेक्ट बटन पर क्लिक करें।
आउटपुट: -
यदि आप SQL सर्वर एक्सप्रेस पर जाते हैं और demotb तालिका में पंक्तियों को देखते हैं, तो आपको पंक्ति नीचे दिखाए अनुसार सम्मिलित दिखाई देगी
C# डेटाबेस अद्यतन करें
डेटा एक्सेस करने की तरह ही, C# में डेटाबेस से मौजूदा रिकॉर्ड को अपडेट करने की भी क्षमता है। हमारे डेटाबेस में रिकॉर्ड को अपडेट करने का तरीका दिखाने के लिए, आइए ऊपर इस्तेमाल की गई टेबल संरचना को ही लें।
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net |
आइए अपने फॉर्म में कोड बदलें, ताकि हम निम्नलिखित पंक्ति को अपडेट कर सकें। पुरानी पंक्ति का मान TutorialID “3” है और Tutorial Name “VB.Net” है। जिसे हम “VB.Net पूर्ण” में अपडेट करेंगे जबकि Tutorial ID के लिए पंक्ति का मान वही रहेगा।
पुरानी पंक्ति
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 3 | VB.Net |
नई पंक्ति
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 3 | VB.Net पूर्ण |
तो चलिए अपने प्रोग्राम में निम्नलिखित कोड जोड़ते हैं। नीचे दिए गए कोड स्निपेट का उपयोग हमारे डेटाबेस में मौजूदा रिकॉर्ड को अपडेट करने के लिए किया जाएगा।
C# SqlCommand उदाहरण के साथ Code स्पष्टीकरण: -
- पहला चरण निम्नलिखित चर बनाना है
- SQLCommand – इस डेटा प्रकार का उपयोग उन ऑब्जेक्ट को परिभाषित करने के लिए किया जाता है जिनका उपयोग डेटाबेस के विरुद्ध SQL संचालन करने के लिए किया जाता है। यह ऑब्जेक्ट SQL कमांड को होल्ड करेगा जो हमारे SQL सर्वर डेटाबेस के विरुद्ध चलेगा।
- डेटाएडाप्टर ऑब्जेक्ट का उपयोग विशिष्ट SQL ऑपरेशन जैसे इन्सर्ट, डिलीट और अपडेट कमांड निष्पादित करने के लिए किया जाता है।
- फिर हम एक स्ट्रिंग वेरिएबल परिभाषित करते हैं, जो हमारी SQL कमांड स्ट्रिंग को धारण करने के लिए SQL है।
- अगला चरण SQL कथन को परिभाषित करना है जिसका उपयोग हमारे डेटाबेस के विरुद्ध किया जाएगा। हमारे मामले में हम एक अपडेट कथन जारी कर रहे हैं, यह ट्यूटोरियल नाम को “VB.Net पूर्ण” में अपडेट करेगा जबकि ट्यूटोरियलआईडी अपरिवर्तित रहेगी और 3 के रूप में रखी जाएगी।
- इसके बाद, हम कमांड ऑब्जेक्ट बनाएंगे, जिसका उपयोग डेटाबेस के विरुद्ध SQL स्टेटमेंट को निष्पादित करने के लिए किया जाता है। SQL कमांड में, आपने कनेक्शन ऑब्जेक्ट और SQL स्ट्रिंग को पास किया है।
- हमारे डेटा एडाप्टर कमांड में, हम अब अपने एडाप्टर से इन्सर्ट SQL कमांड को जोड़ते हैं। फिर हम ExecuteNonQuery विधि भी जारी करते हैं जिसका उपयोग हमारे डेटाबेस के विरुद्ध अपडेट स्टेटमेंट को निष्पादित करने के लिए किया जाता है।
- अंत में हम अपने डेटाबेस ऑपरेशन से संबंधित सभी ऑब्जेक्ट्स को बंद कर देते हैं। याद रखें कि यह हमेशा एक अच्छा अभ्यास है।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को Visual Studio का उपयोग करके निष्पादित किया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा। फ़ॉर्म प्रदर्शित होने के बाद, कनेक्ट बटन पर क्लिक करें।
आउटपुट: -
यदि आप वास्तव में SQL सर्वर एक्सप्रेस पर जाते हैं और demotb तालिका में पंक्तियों को देखते हैं, तो आप देखेंगे कि पंक्ति सफलतापूर्वक अपडेट हो गई है जैसा कि नीचे दिखाया गया है।
रिकॉर्ड्स हटाना
डेटा एक्सेस करने की तरह ही, C# में डेटाबेस से मौजूदा रिकॉर्ड को हटाने की भी क्षमता है। हमारे डेटाबेस में रिकॉर्ड को कैसे डिलीट किया जाए, यह दिखाने के लिए, आइए ऊपर इस्तेमाल की गई टेबल संरचना को ही लें।
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net पूर्ण |
आइए अपने फॉर्म में कोड बदलें, ताकि हम निम्नलिखित पंक्ति को हटा सकें
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 3 | VB.Net पूर्ण |
तो चलिए अपने प्रोग्राम में निम्नलिखित कोड जोड़ते हैं। नीचे दिए गए कोड स्निपेट का उपयोग हमारे डेटाबेस में मौजूद किसी मौजूदा रिकॉर्ड को हटाने के लिए किया जाएगा।
Code स्पष्टीकरण: -
- इस कोड में मुख्य अंतर यह है कि अब हम डिलीट SQL स्टेटमेंट जारी कर रहे हैं। डिलीट स्टेटमेंट का उपयोग डेमोटीबी टेबल में उस पंक्ति को हटाने के लिए किया जाता है जिसमें ट्यूटोरियलआईडी का मान 3 है।
- हमारे डेटा एडाप्टर कमांड में, हम अब अपने एडाप्टर से इन्सर्ट SQL कमांड को जोड़ते हैं। फिर हम ExecuteNonQuery विधि भी जारी करते हैं जिसका उपयोग हमारे डेटाबेस के विरुद्ध डिलीट स्टेटमेंट को निष्पादित करने के लिए किया जाता है।
जब उपरोक्त कोड सेट हो जाता है, और प्रोजेक्ट को Visual Studio का उपयोग करके निष्पादित किया जाता है, तो आपको नीचे दिया गया आउटपुट मिलेगा। फ़ॉर्म प्रदर्शित होने के बाद, कनेक्ट बटन पर क्लिक करें।
आउटपुट: -
यदि आप वास्तव में SQL सर्वर एक्सप्रेस पर जाते हैं और demotb तालिका में पंक्तियों को देखते हैं, तो आप देखेंगे कि पंक्ति सफलतापूर्वक हटा दी गई है जैसा कि नीचे दिखाया गया है।
नियंत्रणों को डेटा से जोड़ना
पिछले अनुभागों में, हमने देखा है कि हम डेटाबेस से डेटा लाने के लिए SQLCommand और SQLReader जैसे C# कमांड का उपयोग कैसे कर सकते हैं। हमने यह भी देखा कि हम टेबल की प्रत्येक पंक्ति को कैसे पढ़ते हैं और उपयोगकर्ता को टेबल की सामग्री दिखाने के लिए मैसेजबॉक्स का उपयोग कैसे करते हैं।
लेकिन जाहिर है, उपयोगकर्ता संदेश बॉक्स के माध्यम से भेजे गए डेटा को नहीं देखना चाहते हैं और डेटा प्रदर्शित करने के लिए बेहतर नियंत्रण चाहते हैं। आइए नीचे दी गई डेटा संरचना को एक तालिका में लें
| ट्यूटोरियलआईडी | ट्यूटोरियलनाम |
|---|---|
| 1 | C# |
| 2 | ASP.Net |
| 3 | VB.Net पूर्ण |
उपरोक्त डेटा संरचना से, उपयोगकर्ता आदर्श रूप से ट्यूटोरियलआईडी और ट्यूटोरियल नाम को टेक्स्टबॉक्स में प्रदर्शित देखना चाहेंगे। दूसरे, वे किसी प्रकार का बटन नियंत्रण चाहते होंगे जो उन्हें तालिका में अगले रिकॉर्ड या पिछले रिकॉर्ड पर जाने की अनुमति दे सके। इसके लिए डेवलपर की ओर से थोड़ी अतिरिक्त कोडिंग की आवश्यकता होगी।
अच्छी खबर यह है कि C# डेटा पर नियंत्रणों को बांधने की अनुमति देकर अतिरिक्त कोडिंग प्रयास को कम कर सकता है। इसका मतलब यह है कि C# टेबल के किसी विशेष फ़ील्ड के अनुसार टेक्स्टबॉक्स के मान को स्वचालित रूप से पॉप्युलेट कर सकता है।
तो, आपके पास विंडोज़ फ़ॉर्म में 2 टेक्स्टबॉक्स हो सकते हैं। फिर आप एक टेक्स्टबॉक्स को ट्यूटोरियलआईडी फ़ील्ड से और दूसरे टेक्स्टबॉक्स को ट्यूटोरियलनाम फ़ील्ड से लिंक कर सकते हैं। यह लिंकिंग विज़ुअल स्टूडियो डिज़ाइनर में ही की जाती है, और आपको इसके लिए अतिरिक्त कोड लिखने की ज़रूरत नहीं है।
विज़ुअल स्टूडियो यह सुनिश्चित करेगा कि यह आपके लिए कोड लिखे ताकि लिंकेज काम करे। फिर जब आप अपना एप्लिकेशन चलाएंगे, तो टेक्स्टबॉक्स कंट्रोल स्वचालित रूप से डेटाबेस से कनेक्ट हो जाएगा, डेटा प्राप्त करेगा और उसे टेक्स्टबॉक्स कंट्रोल में प्रदर्शित करेगा। इसे प्राप्त करने के लिए डेवलपर की ओर से किसी कोडिंग की आवश्यकता नहीं है।
आइए एक कोड उदाहरण देखें कि हम नियंत्रणों की बाइंडिंग कैसे प्राप्त कर सकते हैं।
हमारे उदाहरण में, हम विंडोज़ फ़ॉर्म पर 2 टेक्स्टबॉक्स बनाने जा रहे हैं। वे क्रमशः ट्यूटोरियल आईडी और ट्यूटोरियल नाम का प्रतिनिधित्व करने जा रहे हैं। वे तदनुसार डेटाबेस के ट्यूटोरियल आईडी और ट्यूटोरियलनाम फ़ील्ड से बंधे होंगे।
आइये इसे प्राप्त करने के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1) मूल फ़ॉर्म बनाएँ। फ़ॉर्म में 2 घटकों को खींचें और छोड़ें- लेबल और टेक्स्टबॉक्स। फिर निम्नलिखित उप-चरणों को पूरा करें
- पहले लेबल का टेक्स्ट मान TutorialID रखें
- दूसरे लेबल का टेक्स्ट मान TutorialName रखें
- पहले टेक्स्टबॉक्स की नाम प्रॉपर्टी को txtID के रूप में रखें
- दूसरे टेक्स्टबॉक्स की नाम प्रॉपर्टी को txtName के रूप में रखें
नीचे बताया गया है कि उपरोक्त चरणों का पालन करने के बाद फॉर्म कैसा दिखेगा।
चरण 2) अगला चरण फॉर्म में बाइंडिंग नेविगेटर जोड़ना है। बाइंडिंग नेविगेटर नियंत्रण स्वचालित रूप से तालिका की प्रत्येक पंक्ति के माध्यम से नेविगेट कर सकता है। बाइंडिंग नेविगेटर जोड़ने के लिए, बस टूलबॉक्स पर जाएं और इसे फॉर्म में खींचें।
चरण 3) अगला चरण हमारे डेटाबेस में बाइंडिंग जोड़ना है। यह किसी भी टेक्स्टबॉक्स नियंत्रण पर जाकर और DataBindings->Text प्रॉपर्टी पर क्लिक करके किया जा सकता है। बाइंडिंग नेविगेटर का उपयोग आपके एप्लिकेशन से डेटाबेस तक लिंक स्थापित करने के लिए किया जाता है।
जब आप यह चरण निष्पादित करते हैं, तो Visual Studio स्वचालित रूप से एप्लिकेशन में आवश्यक कोड जोड़ देगा ताकि यह सुनिश्चित हो सके कि एप्लिकेशन डेटाबेस से जुड़ा हुआ है। आम तौर पर Visual Studio में डेटाबेस को प्रोजेक्ट डेटा स्रोत के रूप में संदर्भित किया जाता है। इसलिए यह सुनिश्चित करने के लिए कि एप्लिकेशन और डेटाबेस के बीच कनेक्शन स्थापित है, पहला चरण प्रोजेक्ट डेटा स्रोत बनाना है।
निम्न स्क्रीन दिखाई देगी। लिंक पर क्लिक करें- “प्रोजेक्ट डेटा स्रोत जोड़ें”। जब आप प्रोजेक्ट डेटा स्रोत पर क्लिक करेंगे, तो आपको एक विज़ार्ड दिखाई देगा; यह आपको डेटाबेस कनेक्शन को परिभाषित करने की अनुमति देगा।
चरण 4) एक बार जब आप Add Project Data Source लिंक पर क्लिक करेंगे, तो आपको एक विज़ार्ड दिखाया जाएगा जिसका उपयोग demotb डेटाबेस से कनेक्शन बनाने के लिए किया जाएगा। निम्नलिखित चरण विस्तार से दिखाते हैं कि विज़ार्ड के प्रत्येक चरण के दौरान क्या कॉन्फ़िगर किया जाना चाहिए।
- पॉप-अप स्क्रीन में, डेटा स्रोत प्रकार के रूप में डेटाबेस चुनें और फिर अगला बटन पर क्लिक करें।
- अगली स्क्रीन में, आपको डेटाबेस के लिए कनेक्शन स्ट्रिंग का निर्माण शुरू करना होगा। एप्लिकेशन को डेटाबेस से कनेक्शन स्थापित करने के लिए कनेक्शन स्ट्रिंग की आवश्यकता होती है। इसमें सर्वर नाम, डेटाबेस नाम और ड्राइवर का नाम जैसे पैरामीटर शामिल हैं।
- नये कनेक्शन बटन पर क्लिक करें
- डेटा स्रोत इस प्रकार चुनें Microsoft SQL Server
- कंटिन्यू बटन पर क्लिक करें।
- इसके बाद, आपको डेटाबेस से कनेक्ट करने के लिए क्रेडेंशियल जोड़ने की आवश्यकता है
- वह सर्वर नाम चुनें जिस पर SQL सर्वर स्थित है
- डेटाबेस से कनेक्ट करने के लिए उपयोगकर्ता आईडी और पासवर्ड दर्ज करें
- डेटाबेस को demotb के रूप में चुनें
- 'ओके' बटन पर क्लिक करें.
- इस स्क्रीन में, हम पिछली स्क्रीन पर की गई सभी सेटिंग्स की पुष्टि करेंगे।
- कनेक्शन स्ट्रिंग में संवेदनशील डेटा शामिल करने के लिए “हां” विकल्प चुनें
- अगले बटन पर क्लिक करें।
- अगली स्क्रीन में, कनेक्शन स्ट्रिंग के निर्माण की पुष्टि करने के लिए “अगला” बटन पर क्लिक करें
- इस चरण में,
- Demotb की तालिकाएँ चुनें, जो अगली स्क्रीन में दिखाई देंगी।
- यह तालिका अब C# प्रोजेक्ट में उपलब्ध डेटा स्रोत बन जाएगी
जब आप समाप्त बटन पर क्लिक करते हैं, विजुअल स्टूडियो अब यह सुनिश्चित करेगा कि अनुप्रयोग तालिका Demotb में सभी पंक्तियों को क्वेरी कर सकता है।
चरण 5) अब जब डेटा स्रोत परिभाषित हो गया है, तो हमें अब ट्यूटोरियलआईडी और ट्यूटोरियलनाम टेक्स्टबॉक्स को डेमोटीबी टेबल से कनेक्ट करना होगा। जब आप ट्यूटोरियलआईडी या ट्यूटोरियलनाम टेक्स्टबॉक्स की टेक्स्ट प्रॉपर्टी पर क्लिक करते हैं, तो आप देखेंगे कि डेमोटीबी के लिए बाइंडिंग स्रोत उपलब्ध है।
पहले टेक्स्ट बॉक्स के लिए ट्यूटोरियल आईडी चुनें। दूसरे टेक्स्ट बॉक्स के लिए इस चरण को दोहराएँ और फ़ील्ड को ट्यूटोरियलनाम के रूप में चुनें। नीचे दिए गए चरण दिखाते हैं कि हम प्रत्येक नियंत्रण पर कैसे नेविगेट कर सकते हैं और उसके अनुसार बाइंडिंग को बदल सकते हैं।
- ट्यूटोरियल आईडी नियंत्रण पर क्लिक करें।
- प्रॉपर्टीज विंडो में, आपको ट्यूटोरियलआईडी टेक्स्टबॉक्स की प्रॉपर्टीज दिखाई देंगी। टेक्स्ट प्रॉपर्टी पर जाएं और डाउन एरो बटन पर क्लिक करें।
- जब आप डाउन एरो बटन पर क्लिक करेंगे तो आपको demotbBinding Source ऑप्शन दिखाई देगा। और इसके नीचे आपको TutorialName और TutorialID के ऑप्शन दिखाई देंगे। ट्यूटोरियल आईडी वाला ऑप्शन चुनें।
ट्यूटोरियल नाम टेक्स्ट बॉक्स के लिए उपरोक्त 3 चरणों को दोहराएं।
- तो ट्यूटोरियल नाम टेक्स्ट बॉक्स पर क्लिक करें
- गुण विंडो पर जाएँ
- टेक्स्ट गुण चुनें
- demotbBindingSource के अंतर्गत TutorialName विकल्प चुनें
चरण 6) इसके बाद हमें BindingNavigator की Binding Source प्रॉपर्टी को बदलना होगा ताकि यह Demotb डेटा सोर्स की ओर इशारा करे। ऐसा करने का कारण यह है कि Binding Navigator को यह भी पता होना चाहिए कि उसे किस टेबल को संदर्भित करना है।
बाइंडिंग नेविगेटर का उपयोग तालिका में अगला या पिछला रिकॉर्ड चुनने के लिए किया जाता है। इसलिए भले ही डेटा स्रोत को पूरे प्रोजेक्ट में और टेक्स्ट बॉक्स कंट्रोल में जोड़ा गया हो, फिर भी हमें यह सुनिश्चित करने की आवश्यकता है कि बाइंडिंग नेविगेटर में हमारे डेटा स्रोत का लिंक भी हो। ऐसा करने के लिए, हमें बाइंडिंग नेविगेटर ऑब्जेक्ट पर क्लिक करना होगा, बाइंडिंग सोर्स प्रॉपर्टी पर जाना होगा और जो उपलब्ध है उसे चुनना होगा
इसके बाद, हमें Properties विंडो पर जाना होगा ताकि हम Binding Source प्रॉपर्टी में परिवर्तन कर सकें।
जब उपरोक्त सभी चरण सफलतापूर्वक निष्पादित हो जाएंगे, तो आपको नीचे उल्लिखित आउटपुट मिलेगा।
आउटपुट: -
अब जब प्रोजेक्ट लॉन्च किया जाता है, तो आप देख सकते हैं कि टेक्स्टबॉक्स स्वचालित रूप से तालिका से मान प्राप्त कर लेते हैं।
जब आप नेविगेटर पर नेक्स्ट बटन पर क्लिक करते हैं, तो यह स्वचालित रूप से तालिका में अगले रिकॉर्ड पर चला जाता है। और अगले रिकॉर्ड के मान स्वचालित रूप से टेक्स्ट बॉक्स में आ जाते हैं
सी# डेटाग्रिडव्यू
डेटा ग्रिड का उपयोग किसी तालिका से डेटा को ग्रिड-जैसे प्रारूप में प्रदर्शित करने के लिए किया जाता है। जब कोई उपयोगकर्ता तालिका डेटा देखता है, तो वे आम तौर पर सभी तालिका पंक्तियों को एक बार में देखना पसंद करते हैं। यह तब प्राप्त किया जा सकता है जब हम फ़ॉर्म पर ग्रिड में डेटा प्रदर्शित कर सकें।
C# और Visual Studio में इनबिल्ट डेटा ग्रिड होते हैं, इसका उपयोग डेटा प्रदर्शित करने के लिए किया जा सकता है। आइए इसका एक उदाहरण देखें। हमारे उदाहरण में, हमारे पास एक डेटा ग्रिड होगा, जिसका उपयोग डेमोटीबी टेबल से ट्यूटोरियल आईडी और ट्यूटोरियल नाम मान प्रदर्शित करने के लिए किया जाएगा।
चरण 1) टूलबॉक्स से DataGridView नियंत्रण को Visual Studio में फ़ॉर्म पर खींचें। DataGridView नियंत्रण का उपयोग Visual Studio में तालिका की पंक्तियों को ग्रिड-जैसे प्रारूप में प्रदर्शित करने के लिए किया जाता है।
चरण 2) अगले चरण में, हमें अपने डेटा ग्रिड को डेटाबेस से कनेक्ट करना होगा। पिछले भाग में, हमने एक प्रोजेक्ट डेटा स्रोत बनाया था। आइए अपने उदाहरण में उसी डेटा स्रोत का उपयोग करें।
- सबसे पहले, आपको ग्रिड चुनना होगा और ग्रिड में तीर पर क्लिक करना होगा। इससे ग्रिड कॉन्फ़िगरेशन विकल्प सामने आ जाएँगे।
- कॉन्फ़िगरेशन विकल्पों में, डेटा स्रोत को demotbBindingSource के रूप में चुनें, जो कि पिछले अनुभाग में बनाया गया डेटा स्रोत था।
यदि उपरोक्त सभी चरण दिखाए अनुसार निष्पादित किए जाते हैं, तो आपको नीचे उल्लिखित आउटपुट मिलेगा।
आउटपुट: -
आउटपुट से आप देख सकते हैं कि ग्रिड को डेटाबेस से प्राप्त मानों से भरा गया है।
सारांश
- C# SQL निम्न डेटाबेस के साथ काम कर सकता है: Oracle और Microsoft SQL Server.
- इस C# डेटाबेस ट्यूटोरियल में वे सभी कमांड हैं जो डेटाबेस के साथ काम करने के लिए आवश्यक हैं। इसमें डेटाबेस से कनेक्शन स्थापित करना शामिल है। आप C# में कमांड का उपयोग करके चयन, अद्यतन, सम्मिलित और हटाना जैसे ऑपरेशन कर सकते हैं।
- C# में DataReader ऑब्जेक्ट का उपयोग डेटाबेस द्वारा लौटाए गए सभी डेटा को रखने के लिए किया जाता है। C# में While लूप का उपयोग डेटा पंक्तियों को एक-एक करके पढ़ने के लिए किया जा सकता है।
- डेटा एडाप्टर ऑब्जेक्ट का उपयोग डेटाबेस के विरुद्ध SQL ऑपरेशन जैसे कि सम्मिलित करना, हटाना और अद्यतन करना आदि करने के लिए किया जाता है।
- C# नियंत्रणों को तालिका में विभिन्न फ़ील्ड से बांध सकता है। वे C# में डेटा स्रोत को परिभाषित करके बंधे होते हैं। डेटा स्रोत का उपयोग डेटाबेस से डेटा खींचने और उन्हें नियंत्रणों में भरने के लिए किया जाता है।
- बाइंडिंग नेविगेटर का उपयोग तालिका में पंक्तियों के माध्यम से स्वचालित रूप से नेविगेट करने के लिए किया जाता है।
- डेटा ग्रिड C# डेटाबेस से कनेक्ट कर सकते हैं और तालिका से सभी मानों को ग्रिड जैसे प्रारूप में प्रदर्शित कर सकते हैं।




































