PDA

View Full Version : افزودن داده از دیتاگرید به دیتابیس sql



fereshtehrahimi
یک شنبه 28 مرداد 1386, 19:14 عصر
سلام
من یک shopping cart درست کردم که با هر بار زدن دکمه buy در datagrid اطلاعات آن سطر به datagrid دیگری که به data table متصل است ریخته می شود حالا چه طو ر می تونم اطلاعات موجود در سطر های این datagrid دوم را به دیتابیس sql اضافه کنم .
با تشکر fereshteh

nazaninam
یک شنبه 28 مرداد 1386, 20:54 عصر
ساده ترین راه اینه که داخل یک حلقه For Each یا foreach بخونی و تک تک داخل جدول دیتابیس Insert کنی !
برای روشن شدن مطلب یک سر به تاپیک مهندس راد بزن "اعمال متداول دیتاگرید"

fereshtehrahimi
دوشنبه 29 مرداد 1386, 12:28 عصر
من برای این کار این تابع را نوشتم ولی نمی دونم چرا جواب نمی دهد ممکن است بیشتر راهنماییم کنید باتشکر fereshteh


Private Sub btnSubmitOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tblOrders As DataTable = dsShoppingCart.Tables.Add("tblorders")
tblOrders.Columns.Add("orderid", GetType(Integer))
'tblOrders.Columns.Add("CustomerID", GetType(String))
tblOrders.Columns.Add("orderdate", GetType(Date))
tblOrders.Columns("orderid").AutoIncrement = True
tblOrders.Columns("orderid").AutoIncrementSeed = -1
tblOrders.Columns("orderid").AutoIncrementStep = -1
tblOrders.PrimaryKey = New DataColumn() {tblOrders.Columns("orderid")}


' tblOrders.Rows.Add(New Object() {Nothing, request.Cookies("CustomerID").value, DateTime.Now})
'dsShoppingCart.Relations.Add(tblOrders.Columns("orderid"), _
'dsShoppingCart.Tables("order details").Columns("orderid"))
Dim strSQL As String
Dim cmdInsert As OleDbCommand
Dim daOrders, daDetails As OleDbDataAdapter

daOrders = New OleDbDataAdapter("", cn)
'strSQL = "INSERT INTO tblorders (orderdate) VALUES (?); SELECT SCOPE_IDENTITY() AS orderid"
'cmdInsert = New OleDbCommand(strSQL, cn)
'cmdInsert.Parameters.Add("@CustomerID", OleDbType.WChar)
' cmdInsert.Parameters.Add("@orderdate", OleDbType.Date)
' cmdInsert.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
'daOrders.InsertCommand = cmdInsert

daDetails = New OleDbDataAdapter("", cn)
strSQL = "INSERT INTO [order details] (orderid, productid, quantity, unitprice) VALUES (@orderid, @productid, @quantity, @unitprice);"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add(New System.Data.OleDb.OleDbParameter("@orderid", System.Data.OleDb.OleDbType.Integer, 4, "orderid"))
cmdInsert.Parameters.Add(New System.Data.OleDb.OleDbParameter("@productid", System.Data.OleDb.OleDbType.Integer, 4, "productid"))
cmdInsert.Parameters.Add(New System.Data.OleDb.OleDbParameter("@quantity", System.Data.OleDb.OleDbType.SmallInt, 4, "quantity"))
cmdInsert.Parameters.Add(New System.Data.OleDb.OleDbParameter("@unitprice", System.Data.OleDb.OleDbType.Currency, 4, "unitprice"))
cmdInsert.UpdatedRowSource = UpdateRowSource.None
daDetails.InsertCommand = cmdInsert

cn.Open()
' daOrders.Update(tblOrders)
' daDetails.Update(dsShoppingCart.Tables("order details"))
cn.Close()

' Dim intNewOrderID As Integer = tblOrders.Rows(0)("orderid")
'Response.Write("<P>Thank you for your business. Your order number is: <B>" & intNewOrderID & "</B></P>")
Response.Write("<P>Please keep this order number for your records.</P>")

gridCart.Columns(5).Visible = True
gridCart.Columns(6).Visible = True
btnSubmitOrder.Visible = True
dsShoppingCart.Dispose()
dsShoppingCart = Nothing
SaveCart()

End Sub

nazaninam
دوشنبه 29 مرداد 1386, 16:44 عصر
من در تابع شما For Each نمی بینم ! عرض کردم باید داخل یک حلقه دیتاگرید را بخوانید

fereshtehrahimi
سه شنبه 30 مرداد 1386, 11:55 صبح
ممکن است نمونه کدی به غیر از اعمال متداول در گرید ویو برام بگذارید
با تشکرfereshteh