جهت ثبت اطلاعات در جدول دو راه دارم يا به صورت parameter ثبت كنم يا اينكه بيام Transaction ثبت كنم. فعلاً با Parameter كار مي كنيم.
كاري كه من مي خوام اينجا انجام بدم اين هستش داخل دكمه Button مربوط به Insert كردن اطلاعات درون TextBox ها (يا هر كنترلي كه به عنوان ورودي عمل كند) رو درون يه ArrayList ميريزم و در همون جا يه دستور SQL مي نويسم سپس براي Value هاي دستور SQL كه نوشتم Parameter ها رو مقداردهي مي كنم. بعد اين دستور و Parameter ها رو به روال Insert كه خواهم ساخت مي فرستم و دستور رو اجرا مي كنم.
و در آخر هم يه LoadAll مي كنم كه به عنوان Refresh برنامه ازش استفاده بشه.
ميام دو تا Refrence براي sqlConnection و sqlCommand و يه ArrayList مي سازم:
در #C:
SqlConnection cnn = newSqlConnection();
SqlCommand cmd = newSqlCommand();
ArrayList arr = newArrayList();
در VB.NET:
Dim cnn AsNew SqlConnection()
Dim cmd AsNew SqlCommand()
Dim arr AsNew ArrayList()
حالا تويه دكمه Button براي مقداردهي ArrayList مي نويسم:
در #C:
arr.Add(textBox1.Text);
arr.Add(textBox2.Text);
.
.
.
در VB.NET:
arr.Add(textBox1.Text);
arr.Add(textBox2.Text);
.
.
.
حالا در ادامه دستور بالا درون Button دستور SQL رو مشخص مي كنيم:
در #C:
cmd.CommandText = "insert into Shelf(Field1,Field2)Values(@Field1,@Field1)";
در VB.NET:
cmd.CommandText = "insert into Shelf(Field1,Field2)Values(@Field1,@Field1)";
بعد Parameter هاي موجود رو مقدار دهي مي كنم:
در #C:
cmd.Parameters.Clear();
cmd.Parameters.Add("@Field1", SqlDbType.NVarChar).Value = arr[0].ToString();
cmd.Parameters.Add("@Field2", SqlDbType.Int).Value =int.Parse ( arr[1].ToString());
.
.
.
در VB.NET:
cmd.Parameters.Clear();
cmd.Parameters.Add("@Field1", SqlDbType.NVarChar).Value = arr[0].ToString();
cmd.Parameters.Add("@Field2", SqlDbType.Int).Value =int.Parse ( arr[1].ToString());
.
.
.
حالا بايد اين cmd رو براي يه روال يا متدي كه بحثش رو كردم بفرستم. اما قبل از ارسال بايد اون رو بسازم. اين روال يا متد اين كار رو انجام مي ده:- اتصال به پايگاه داده
- مشخص كردن آدرس پايگاه داده جهت اجرا دستور SQL
- باز كردن پايگاه داده
- اجراي دستور SQL
- بستن پايگاه داده
در #C:
privatevoid Insert(SqlCommand cmd)
{
Connect();
cmd.Connection = cnn;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
در VB.NET:
PrivateSub Insert(ByVal cmd As SqlCommand)
Connect()
cmd.Connection = cnn
cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()
EndSub
حالا كه متد رو ساختم دوباره بر ميگردم به Button و اين دستور رو به خط آخرش اضافه مي كنم:
در #C:
Insert(cmd);
در VB.NET:
Insert(cmd)
حالا براي اينكه متوجه بشم كه اين ركورد ثبت شده ميام LoadAll رو كه در پست هاي قبلي نوشتيم رو بهش اضافه مي كنم:
در #C:
LoadAll();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Barnamenevis";
در VB.NET:
LoadAll()
dataGridView1.DataSource = ds
dataGridView1.DataMember = "Barnamenevis"