آموزش ثبت اطلاعات در دیتابیس با سی شارپ به روش Linq وado.net

ارسال شده توسط: حسین درویشی Comments: 0

آموزش ثبت اطلاعات در دیتابیس با سی شارپ به روش Linq وado.net

در جلسه قبلی یاد گرفتید که چگونه می توان یک فرم لاگین ایجاد کرد. در این جلسه قصد دارم تا شما را با ثبت اطلاعات در سی شارپ به روش Linq و ado.net آشنا کنم.

برای شروع کار به یک دیتابیس نیاز داریم

ساخت دیتابیس

یک دیتابیس با نام db_user ایجاد کنید. سپس جدولی را با نام User ایجاد کرده و فیلد های زیر را در آن قرار دهید

نام فیلدنوع دادهNull
UserIdint کلید اصلی و Auto Incrementخیر
Namenvarcharخیر
Familynvarcharخیر
UserNamenvarcharخیر
Passwordnvarcharخیر

ایجاد پروژه

یک پروژه از نوع web application asp.net ایجاد کنید. سپس یک WebForm به پروژه با نام دلخواه اضافه کنید.

ارتباط با دیتابیس

حال می خواهیم با دیتابیس ارتباط برقرار کنیم در منوی بالا مسیر View>Server Explorer را دنبال کنید

ثبت اطلاعات در سی شارپ

پس از انتخاب Server Explorer ، در بخش سمت چپ باکسی بصورت زیر باز خواهد شد که باید روی گزینه Connect To Database کلیک کنید

server explorer در ویژوال استودیو

یک پنجره جدید به شکل زیر به نمایش در می آید. در بخش Server Name حتما localhost را در آن قرار دهید یا یک نقطه . که به منزله localhost می باشد استفاده کنید. و درپایین بخش Select or enter a database name ، نام دیتابیس مورد نظر را انتخاب کنید.

در همین پنجره روی Advanced کلیک کنید تا پنجره زیر ظاهر شود:

بخش زرد رنگی که در تصویر مشخص شده است باید کپی شود آن را کپی کرده و بخاطر داشته باشد موقع کد نویسی به آن نیاز خواهیم داشت. که به عنوان آدرس کانکشن استفاده می شود. حال هردو پنجره را OK کنید

مراحل برنامه نویسی

ثبت اطلاعات به روش ado.net

فرم زیر را بسازید می توانید از کدهای زیر استفاده کنید

 <form id="form1" runat="server">
<asp:Label Text="Name:" runat="server" />
<br />
<asp:TextBox runat="server" ID="txtName" />
<br />
<asp:Label Text="Family:" runat="server" />
<br />
<asp:TextBox runat="server" ID="txtFamily" />
<br />
<asp:Label Text="UserName:" runat="server" />
<br />
<asp:TextBox runat="server" ID="txtUsername" />
<br />
<asp:Label Text="Password:" runat="server" />
<br />
<asp:TextBox runat="server" ID="txtPassword" TextMode="Password" />
<br />
<asp:Button Text="Submit" runat="server" ID="btnSubmit" OnClick="btnSubmit_Click" />

سپس در رویداد کلیک باتون کد زیر را قرار دهید

        string Conn = "Data Source=localhost;Initial Catalog=db_user;Integrated Security=True";
SqlConnection conn = new SqlConnection(Conn);
conn.Open();
string insertQ = "INSERT INTO [User] (Name,Family,UserName,Password) " +"VALUES('" + txtName.Text + "','" + txtFamily.Text + "','" + txtUsername.Text + "','" + txtPassword.Text + "')";
SqlCommand cmd = new SqlCommand(insertQ,conn);
cmd.ExecuteNonQuery();
conn.Close();
Response.Write("اطلاعات با موفقیت ثبت شد");

اگر کامپایلر به دستور SqlConnection و SqlCommand خطا گرفت کد زیر را در بخش بالا قرار دهید

using System.Data.SqlClient;

حال نوبت به استفاده از روش Linq رسیده که روش بهتر و بهینه تر در حجم کدها می باشد. در این روش ارتباط ما با دیتابیس متفاوت تر از قبل خواهد بود. در اینجا نیاز داریم تا یک Model از دیتابیس خود ایجاد کنیم. برای ارتباط دیتابیس با این روش، ابتدا اینجا کلیک کرده تا بتوانید یک Model ایجاد کنید.

سپس در رخداد کلیک دکمه از کد زیر استفاده کنید:

            //ایجاد نمونه از مدل ایجاد شده
Models.db_userEntities db = new Models.db_userEntities();
db.User.Add(new Models.User
{
Name=txtName.Text,
Family=txtFamily.Text,
UserName=txtUsername.Text,
Password=Password.Text
});
//save change data
db.SaveChange();

همانطور ملاحظه می کنید حجم کدها بشدت کاهش یافت. در کد بالا ابتدا یک نمونه از Model ایجاد کردیم. در ادامه با همین مدل جدول User فراخوانی شده است وسپس با متد Add عمل افزودن را انجام دادیم.

آخر سر برای ذخیره اطلاعات از متد SaveChange استفاده شده است. این متد یک مقدار بازگشتی از نوع int بر می گرداند. اگر عملیات موفق آمیز باشد مقدار 1 در غیر اینصورت صفر بر می گرداند.

می توانید پروژه را اجرا کرده و مراحل تست را انجام دهید اگر با خطا مواجه شدید در بخش نظرات می توانید مشکل خود را بیان کنید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *