در بخش اول تکنولوژی LINQ به SQL معرفی شده و روش استفاده از آن در پروژه های فرم ویندوزی سی شارپ (C#.NET) آموزش داده شده است. سپس آناتومی دستورات LINQ به SQL با ارائه مثال هایی کاربردی روی بانک اطلاعاتی ارائه شد. در این بخش انجام عملیات پایه روی بانک اطلاعاتی با استفاده از تکنولوژی LINQ به SQL شامل درج رکورد، حذف رکورد و ویرایش رکورد با اجرای روال های ذخیره شده (Stored Procedures) و نیز اجرای مستقیم دستورات SQL شرح داده شده است. این عملیات برای ساخت برنامه های کاربردی مورد نیاز بوده و این مقاله می تواند بعنوان یک پایه برای یادگیری برنامه نویسی بانک اطلاعاتی C# با استفاده از تکنولوژی لینک استفاده شود.
در این بخش با استفاده از لینک در سی شارپ، عملیات پایه شامل اضافه کردن رکورد، حذف رکورد و بروزرسانی رکوردها، با استفاده از روال های ذخیره شده، روی بانک اطلاعاتی ، پیاده سازی شده است و پس از اجرای هر دستور نتیجه تغییرات در یک دیتاگرید نمایش داده می شود.
دریافت پروژه بانک اطلاعاتی با LINQ در سی شارپ
مدیریت بانک اطلاعاتی در سی شارپ با استفاده از LINQ
فرم زیر را طراحی کنید ، این فرم دارای جعبه متن های زیر است:
شماره دانشجویی – txtSid
نام دانشجو – txtSname
معدل – txtAvgr
کد رشته – txtFid
یک تابع برای پر کردن دیتاگرید از روی جدول Studs می نویسیم:
نمایش لیست رکوردها با LINQ
private void fillGrid()
{
var dc = new DataClasses1DataContext();
var q =
from a in dc.GetTable()
select a;
dataGridView1.DataSource = q;
}
و رویداد کلیک هر کدام از دکمه های روی فرم را بصورت زیر کد نویسی می نمائیم:
بازیابی بر اساس شماره دانشجویی:
private void button2_Click(object sender, EventArgs e)
{
var dc = new DataClasses1DataContext();
var stud = from p in dc.sp_select_stud_bid_sid(int.Parse(txtSid.Text)) select p;
foreach (var p in stud)
{
txtSname.Text = p.sname.ToString();
txtAvgr.Text = p.avgr.Value.ToString();
txtFid.Text = p.fid.Value.ToString();
}
}
اضافه کردن رکورد با LINQ
private void btnInsert_Click(object sender, EventArgs e)
{
var dc = new DataClasses1DataContext();
dc.sp_add_stud(txtSname.Text, float.Parse(txtAvgr.Text),
int.Parse(txtFid.Text));
fillGrid();
}
حذف رکورد با linq
private void btnDelete_Click(object sender, EventArgs e)
{
var dc = new DataClasses1DataContext();
dc.sp_delete_stud(int.Parse(txtSid.Text));
fillGrid();
}
ویرایش رکورد با linq
private void btnUpdate_Click(object sender, EventArgs e)
{
var dc = new DataClasses1DataContext();
dc.sp_edit_stud(int.Parse(txtSid.Text), txtSname.Text,
float.Parse(txtAvgr.Text), int.Parse(txtFid.Text));
fillGrid();
}
عملیات پایه با اجرای مستقیم دستورات SQL و با کمک LINQ
دو تابع در دیتا کانتکس برای اجرای دستورات SQL وجود دارد:
– تابع ExecuteQuery() – اجرای دستور SELECT
– تابع ExecuteCommand() – اجرای دستورات دیگر مثل INSERT، UPDATE و غیره
فرم 3 برای اجرای دستورات SQL ایجاد شده است:
اضافه کردن رکورد
private void btnInsert_Click(object sender, EventArgs e)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
int cnt= dc.ExecuteCommand(
"INSERT INTO Studs (sname,avgr,fid) VALUES('"+
txtSname.Text +"',"+ txtAvgr.Text + "," + txtFid.Text + ")");
fillGrid();
}
ویرایش کردن رکورد
private void btnUpdate_Click(object sender, EventArgs e)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
int cnt = dc.ExecuteCommand(
"UPDATE Studs SET sname='" + txtSname.Text + "',avgr=" + txtAvgr.Text
+ ",fid=" + txtFid.Text + " WHERE sid=" + txtSid.Text);
fillGrid();
}
حذف رکورد
private void btnDelete_Click(object sender, EventArgs e)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
int cnt = dc.ExecuteCommand(
"DELETE FROM Studs WHERE sid=" + txtSid.Text);
fillGrid();
}
دریافت پروژه بانک اطلاعاتی با LINQ در سی شارپ