کار با پایگاه دادهها یکی از مهمترین بخشها در فراگیری هر زبان برنامهنویسی است. سیشارپ زبان برنامهنویسیایی شیء گرا و محبوب است که امروزه در پروژههای مختلف مورد استفاده قرار میگیرد. معمولاً نرمافزارهای تولید شده با زبان سیشارپ از دیتابیس SQL Server برای ذخیره سازی دادههای استفاده مینمایند. زبان #C و دیتابیس SQL Server هر دو از محصولات مایکروسافت هستند. از این رو بکارگیری آنها باهم در تولید نرمافزارها متداول است. در ادامه مطلب نحوه اتصال به دیتابیس SQL Server بوسیله زبان برنامهنویسی #C را فرا خواهید گرفت.
برای استفاده از این آموزش، داشتن پیش زمینه و آشنایی با زبان سیشارپ و SQL موردنیاز است. در صورتیکه با این زبانها آشنایی ندارید، میتوانید از طریق لینکهای آموزش #C و آموزش SQL ایبوک آموزشی آنها را به رایگان دریافت کنید.
گام اول وارد کردن کلاسهای مورد نیاز درون پروژه است. فایل جدیدی ایجاد کرده و کلاسهای زیر را درون آن وارد میکنیم. توجه داشته باشید که namespace میبایست هم نام با اسمی باشد که در فایلها و کلاسهای دیگر برنامه درج شده است:
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; namespace ProgramName;
حال آغاز به نوشتن کلاسی با نام DB_Con میکنیم که با فراخوانی آن در برنامه، اتصال به دیتابیس و اجرای فرامین SQL امکانپذیر خواهد شد:
class DB_Con {
SqlConnection con = new SqlConnection("Data Source=(local); Initial Catalog=DbName;User ID=YourUserID;Password=YourPassword");
DbName را با نام دیتابیس مورد نظر، YourUserID را با نام کاربری دیتابیس و YourPassword را با کلمه عبور جایگزین میکنیم. اکنون نیاز به متدی برای آغاز ارتباط با دیتابیس و اجرای Queryها داریم. این متد را GetData مینامیم و از آن برای اجرای کوئریایی مانند SELECT که دارای داده برگشتی است استفاده خواهیم کرد. از آنجاکه این قطعه کد جنبه آموزشی دارد، میتوانید آنرا مطابق با سلیقه و نیاز خود تغییر دهید:
public DataTable GetData(string Command) { DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(Command, con); da.Fill(dt); return dt; }
حال متدی برای اجرای کوئریهایی که بدون داده برگشتیاند مانند INSERT یا DELETE مینویسیم و آن را SetData مینامیم:
public void SetData(string Command) { SqlCommand cmd = new SqlCommand(Command, con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); }
}
تبریک! کلاس اتصال به پایگاه داده شما آماده استفاده است. اکنون با ساختن یک شیء از روی این کلاس میتوانیم از آن استفاده کنیم:
DB_Con dbc = new DB_Con();
قبل از خواندن یک جدول، ابتدا یک شیء Datatable ایجاد میکنیم تا دادههای خوانده شده از جدول را درون آن بریزیم:
Datatable Dt = new Datatable();
حال میتوانیم کوئری دلخواهمان را به عنوان ورودی به متد GetData دهیم:
Dt = dbc.GetData("SELECT name FROM test");
برای کوئریهایی مانند INSERT و UPDATE از متد SetData استفاده میکنیم:
dbc.SetData("UPDATE Test SET Name = 'farhad' WHERE id='2'"); dbc.SetData("INSERT INTO Test (Name) VALUES ('sohrab')");
همانطور که گفته شد، میتوانید این کلاس را متناسب با سلیقه، نوع کاربرد و ساختار برنامه خودتان تغییر دهید و برای اتصال با دیتابیس استفاده نمایید.
سلام ممنون واقعا عالی بود
سلام،خیلی عذر می خوام ولی من دنبال روش گرفتن اطلاعات از بانک اطلاعاتی بودم اگه لطف کنید بزاریدش ممنون می شم
با فراخوانی متد GetData و اجرای یک کوئری SELECT میتوانید دادهها را از بانک اطلاعاتی بخوانید.
سلام
من من موقع نصب sql برای سرورم اسم انتخاب نکردم یعنی با نقطه یا local کانکت مشدم
الان میخام با استفاده از کدی شبیه به کد زیر در C# دیتابیسم را به c# کانکت کنم میتونید کمکم کنید ک جلو server چی باید بنویسم؟
SqlConnection con = new SqlConnection(“server= ; DataBase = db_azmoon; integrated security = True”);
کد اصلی که اگه موقع نصب برای سرور اسم md2008 انتخاب کرده باشی اینه
SqlConnection con = new SqlConnection(“server= .\\md2008; DataBase = db_azmoon; integrated security = True”);
در واقع باید جا md2008 چی بنویسم؟