मेरी राय में सबसे अच्छा समाधान डाटाबेस और अनुप्रयोग (डेटा परत के कुछ प्रकार), बीच मध्यवर्ती वर्ग बनाने के लिए है, जिन तक प्रश्नों का प्रबंधन करने के लिए तरीके का एक नंबर।SQLServer के लिए एक सादृश्य के रूप में SQLite के आधार पर नीचे विवरण (एडीओ कनेक्टर)
उल्लेख वर्ग सिंगलटन द्वारा कर सकते हैं, और आप इसे उदाहरण भी आप अपने आवेदन में चाहते हैं कॉल कर सकते हैं - SQLite यह कर सकते हैं के लिए इस तरह दिखता है:
private static SQLite instance;
public static SQLite getInstance()
{
if(instance == null)
{
instance = new SQLite();
thread = Thread.CurrentThread.ManagedThreadId;
}
return instance;
}
आप उदाहरण इस तरह से प्राप्त कर सकते हैं:
:
SQLite db = SQLite.getInstance();
इस वर्ग के उदाहरण के लिए डेटा हेरफेर के लिए विभिन्न तरीकों को शामिल कर सकते
public SQLiteCommand prepareQuery(string sql)
{
cmd = new SQLiteCommand(sql, conn);
return cmd;
}
public SQLiteDataReader executeReader()
{
return cmd.ExecuteReader();
}
public int executeInt()
{
object obj = cmd.ExecuteScalar();
return (int)obj;
}
लेकिन लेनदेन प्रबंधन और निदान कार्य भी। तो अब - यदि आप अन्य डीबी स्रोत या यहां तक कि डीबी प्रकार हैं, तो आप इस तरह की कक्षा में अपने आवेदन में उपयोग कर सकते हैं, आप अगली डेटा-लेयर बना सकते हैं (उदाहरण के लिए ओरेकल या एमएसएसक्यूएल, माईएसक्यूएल ...) जिनमें से प्रत्येक में उपकरण हैं उदाहरण के लिए एक ही इंटरफ़ेस:
IDataBase
और अब, आपके पास कुछ प्रकार का मुखौटा है, जिसे आप गतिशील रूप से आवश्यकतानुसार प्रतिस्थापित कर सकते हैं। इस समय से आवेदन में डीबी का उपयोग एक ही स्थान पर केंद्रित है, और प्रोग्रामर के लिए इसका उपयोग करने के लिए यह शुद्ध खुशी है - यह मेरा सुझाव है।
आपके पास कितना प्रोग्रामिंग अनुभव है? पहले डेटाबेस का उपयोग किया है? – Onkelborg
मेरे पास कुछ बुनियादी सी # ज्ञान है और एसक्यूएल को पता है, मुझे पहले सी # प्रोग्राम में डीबी तक पहुंच नहीं है। – user483267
यह एक विस्तृत खुला प्रश्न है। कोई भी अच्छा जवाब इस बात पर निर्भर करेगा कि आप क्या करना चाहते हैं, उस समय सीमा के साथ आपको काम करना है, और आप पहले से ही परिचित/आरामदायक हैं। – jac