پرس و جوهاي پايگاه داده
1- دستور به روز رسانی (Update)
فرض كنيم نام پايگاه داده ما Database.mdf و نام جدول آن Table1 بوده و اين جدول داراي سه ستون ID,family و Name مي باشد و كليد اصلي آن نيز ، ستون ID مي باشد.
1- ابتدا کانکشنی به نام Connection را به دیتابیس انجام می دهیم.همچنین در صورتی که کانکشن ما قبلا در web.config قرار داشت ، ما از کد زیر آن را بارگزاری می کردیم :
string Connection=ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
2- فضای نامی های مورد نیاز را وارد می کنیم که شامل موارد زیر می باشند :
Using System.Data;
Using System.Data.sqlClient;
3- به کمک new SqlParameter اقدام به تعریف متغیرها برای پاس دادن به دیتابیس می نماییم و مقادیر آن ها را به کنترل های موجود بر روی فرم Bind می کنیم.مثلا در کد زیر ما دو متغیر پایگاه داده ای @Name و @idتعریف کرده ایم که مقدار خود را از TextBox1 و TextBox3 می گیرند و نوع آن ها نیز Text و Int می باشد :
Com.Parameters.Add(newSqlParameter ("@Name",SqlDbType.Text));
Com.Parameters["@Name"].Value=TextBox1.Text;
Com.Parameters.Add(newSqlParameter("@id", SqlDbType.Int));
Com.Parameters["@id"].Value=string.Format("{0}",TextBox3.Text);
4- دستور درج را به کمک کد sql تعریف می کنیم :
string Command = "Update Table1 Set Name = @Name Where (id=@id)";
این دستور مقدار ستون Name را گرفته و مقدار آن را برابر با مقدار @Name قرار می دهد که معادل محتویات کادر متنی TextBox1 می باشد. این تغییر در ردیفی انجام می گیرد که شماره ردیف آن ، یعنی مقدار ستون ID برابر با @ID یعنی محتویات کادر متنی TextBox3 می باشد .
داريم :
Protected void Button1_Click(object sender, EventArgs e)
{
string Connection = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True";
using (SqlConnection Con = newSqlConnection(Connection))
{
Con.Open();
string Command = "Update Table1 Set Name = @Name,family=@family Where
(id=@id)";
SqlCommand Com = newSqlCommand(Command, Con);
Com.Parameters.Add(newSqlParameter("@Name", SqlDbType.Text));
Com.Parameters["@Name"].Value = TextBox1.Text;
Com.Parameters.Add(newSqlParameter("@family", SqlDbType.Text));
Com.Parameters["@family"].Value =TextBox2.Text;
Com.Parameters.Add(newSqlParameter("@id", SqlDbType.Int));
Com.Parameters["@id"].Value=string.Format("{0}",TextBox3.Text);
Com.ExecuteReader();
Label1.Text = "عمل به روز رسانی با موفقیت انجام شد.";
Con.Close();
}
}