مقاله خود را جستجو کنید
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
در این بخش میتوانید مقاله خود به صورت حرفه ای جستجو نماید.
using System.Data; using System.Data.SqlClient;دلیل اضافه کردن این کتابخانه های این است که اشیاء و متدهای مورد نیاز ما برای اتصال به پایگاه داده (مانند SQLConnection , SQLCommand , ....) در این کتابخانه ها قرار دارند . اکنون کدهای زیر را در رویداد مورد نظر بنویسید (مثلا رویداد Page_load یا Button_Click یا...) دقت نمایید که اگر کدهای فوق را در رویداد لود صفحه بنویسید هرگاه که این صفحه در مرورگر فراخوانی شود کدهای شما اجرا خواهد شد ، و اگر میخواهید هنگام کلیک شدن یک دکمه اجرا شود روی دکمه دبل کلیک نموده و در بلاک کد باز شده کدهای زیر را بنویسید : 2- رشته اتصال را برای یک اتصال امن به دیتابیس SQL Server ایجاد می نماییم (برای اطلاعات بیشتر در مورد رشته های اتصال بانک های مختلف (مانند بانک Access ) به سایت ConnectionStrings.com مراجعه نمایید ) :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;";3- شی اتصال را ایجاد کرده ، رشته اتصال را به صورت ورودی در Constructor وارد می نماییم:
SqlConnection conObj = new SqlConnection(connectionString);4- رشته تقاضا را برای درج یک رکورد در جدول مورد نظر می نویسیم :
string commandText = "insert into myTbl(name,family) values('ali','majidi')";5- شی تقاضا را ایجاد کرده و شی اتصال و رشته تقاضا را در ورودی مقدار دهی می نماییم :
SqlCommand cmdObj = new SqlCommand(commandText, conObj);6- اتصال را باز می کنیم :
conObj.Open();7- اجرای درخواست توسط متد ExecuteNoneQuery از شی تقاضا :
cmdObj.ExecuteNonQuery();8- بستن اتصال :
conObj.Close();اگر مراحل فوق را به ترتیب و بادقت اجرا کرده باشید کد های شما در نهایت به صورت زیر خواهد بود :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;"; SqlConnection conObj = new SqlConnection(connectionString); string commandText = "insert into myTbl(name,family) values('ali','delshad')"; SqlCommand cmdObj = new SqlCommand(commandText, conObj); conObj.Open(); cmdObj.ExecuteNonQuery(); conObj.Close();
string connectionString = "Data Source=(local);Initial Catalog=Database-Test;Persist Security Info=True;User ID=sa;Password=123;"; SqlConnection conn = new SqlConnection(connectionString); string commandText = "insert into tbl_users(username,password)values(@username,@password)"; SqlCommand command = new SqlCommand(commandText , conn); command.Parameters.AddWithValue("@username", "Ali"); command.Parameters.AddWithValue("@password", "Ali"); conn.Open(); command.ExecuteNonQuery(); conn.Close();حال اگر بخواهید اطلاعات را به جای اینکه مستقیم بنویسید ، از داخل کنترل های داخل صفحه (مانند Textbox و...) بخوانید CommandText را به صورت زیر می نوییسیم :
string commandText = "insert into myTbl(name,family) values('"+txtName.Text+"','"+txtFamily.Text+"')";دریافت اطلاعات از بانک اطلاعاتی » برای دریافت اطلاعات از بانک از متد ExecuteReader شی تقاضا استفاده می کنیم ، یک شی از نوع SqlDataReader تعریف کرده و مقدار ExecuteReader را برابر آن قرار می دهیم ، سپس از طریق متد Read شی DataReader اطلاعات را در یک حلقه واکشی می کنیم :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;"; SqlConnection conObj = new SqlConnection(connectionString); string commandText = "select * from myTbl"; SqlCommand cmdObj = new SqlCommand(commandText, conObj); conObj.Open(); SqlDataReader dr = cmdObj.ExecuteReader(); while (dr.Read()) { Response.Write(dr["name"].ToString()); } conObj.Close();همانطور که ملاحظه می کنید سایر مراحل مشابه مراحل قبل است ، در کد فوق در یک حلقه While اطلاعات خوانده شده و مقادیر فیلد name بر روی صفحه چاپ می شود . همچنین شما می توانید خود dr را به صورت یک دتیاسورس به یک کنترل داده ای مانند GridView ،DataList, Repeater و لیست ها مانند DropDownList,CheckBoxList,... نسبت دهید ، به این عملا اصطلاحا بایند (Bind) کردن (انقیاد) داده ها می گویند . وارد بخش Design شده و از TOOLBOX قسمت DATA یک کنترل Gridview در صفحه قرار دهید ، سپس داریم :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;"; SqlConnection conObj = new SqlConnection(connectionString); string commandText = "select * from myTbl"; SqlCommand cmdObj = new SqlCommand(commandText, conObj); conObj.Open(); SqlDataReader dr = cmdObj.ExecuteReader(); GridView1.DataSource = dr; GridView1.DataBind();بازهم دقت کنید که کدها حتما داخل یک رویداد (بلاک کد) قرار بگیرند . برای بایند کردن اطلاعات به یک لیست (مانند DropdownList) کاملا مشابه فوق عمل می کنیم ، با این تفاوت که دو خاصیت DataTextField و DataValueField را نیز تعیین می کنیم ، این دو خاصیت تعیین می کنند که کدام فیلد از بانک اطلاعاتی وارد خاصیت Text و کدام وارد Value لیست شود . برای همین کار یک DropDownList به صفحه اضافه کنید ، سپس در رویداد دلخواه کدهای زیر را بنویسید :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;"; SqlConnection conObj = new SqlConnection(connectionString); string commandText = "select * from myTbl"; SqlCommand cmdObj = new SqlCommand(commandText, conObj); conObj.Open(); SqlDataReader dr = cmdObj.ExecuteReader(); DropDownList1.DataSource = dr; DropDownList1.DataTextField="Name"; DropDownList1.DataValueField="Family"; DropDownList1.DataBind();دریافت مقدار واحد از بانک » خیلی وقتها پیش می آید که ما فقط نیاز مند دریافت یک مقدار واحد مانند نام یک محصول ، تعداد اعضا ، نام کاربری عضو خاص و ... می باشیم . دات نت در این مورد متد بسیار جالبی رو پیشنهاد کرده این متد ExecuteScaler نام دارد و اولین سطر از اولین ستون دستور select رو بر می گرداند . این متد به علت سرعت بالایی که دارد برای دریافت مقادیر واحد پیشنهاد می شود :
string connectionString = "Data Source=(local);Initial Catalog=myDataBase;Integrated Security=SSPI;"; SqlConnection conObj = new SqlConnection(connectionString); string commandText = "select count(*) from myTbl"; SqlCommand cmdObj = new SqlCommand(commandText, conObj); conObj.Open(); Response.Write(cmdObj.ExecuteScalar().ToString()); conObj.Close();