PDA

View Full Version : نحوه اضافه کردن بیش از یک ردیف DataTable در دیتابیس



atarodi
جمعه 17 آبان 1392, 13:10 عصر
با سلام خدمت دوستان
من یک فروشگاه اینترنتی طراحی کرده ام که کاربر بعد از انتخاب محصول وارد صفحه ای می شه که محصول انتخابی را داخل یک DataTable انتقال می ده و پس از اون برای تایید به یک Gridview بایند می کنه تا کاربر بتونه اون رو تایید کنه. مشکل من اینه که نمی دونم چطوری وقتی بیش از یک محصول توی DataTable اضافه شده اونو به دیتابیس insert کنم.
کد استفاده شده من اینه:

private void InsertDataTable()
{
string username = User.Identity.Name;
string name = txtName.Text;
string family = txtFamily.Text;
string email = txtEmail.Text;
string phone = txtPhone.Text;
string mobile = txtMobile.Text;
string postalCode = txtPostal.Text;
string province = ddlProvinces.SelectedItem.ToString();
string city = ddlCity.SelectedItem.ToString();
string address = txtAddress.Text;
string melliCode = txtMelli.Text;
string descriptions = txtDescription.Text;
string rahgiri = DateTime.Now.Ticks.ToString("X");
string productName = "KKKKKKKKK";


try
{
adp = new SqlDataAdapter("select Culumn1,Culumn2,Culumn3,Culumn4 from Table1 where CulumnID=@culumn1ID", con);
adp.SelectCommand.Parameters.AddWithValue("@culumnID", Convert.ToInt32(Request.QueryString["cart_id"]));
dt = new DataTable();
adp.Fill(dt);
adp.Dispose();
r = dt.DefaultView[0];
tb = (DataTable)(Session["ss"]);
DataRow r1;
r1 = tb.NewRow();
r1[0] = Convert.ToInt32(r["Culumn1"]); // database columns name after fetching the records acc. to Product ID.
r1[1] = r["Culumn2"].ToString();
r1[1] = r["Culumn3"].ToString();
r1[2] = Convert.ToInt32(r["Culumn4"]);
r1[3] = 1;
tb.Rows.Add(r1); // Adding the rows
for (int n = 0; n < tb.Rows.Count; n++)
{
int booksID = Convert.ToInt32(tb.Rows[n][0]);
int price = Convert.ToInt32(tb.Rows[n][2]);
int countsof = Convert.ToInt32(tb.Rows[n][3]);
Atarodi.BLL.OrdersBLL newObject = new Atarodi.BLL.OrdersBLL();
newObject.InsertOrderBLL(username, name, family, email, phone, mobile, province, city, address, postalCode, melliCode, booksID, productName, countsof, price, descriptions, rahgiri);

}
tb.Dispose();
}
catch(Exception ex)
{
Label2.Text = ex.Message.ToString();
}

}



دوستان از راهنمایی روشن و دارای کد نمونه دریغ نفرمایید. من از DataTable ها زیاد سر در نمیارم.
با تشکر

atarodi
یک شنبه 19 آبان 1392, 12:40 عصر
کسی نیست که جواب بده؟