fereshtehrahimi
جمعه 28 دی 1386, 17:30 عصر
سلام
من محیط یک فروشگاه را به صورت خیلی ابتدایی(البته با کمک) طراحی کردم تمام مراحل مورد نظر را با موفقیت انجام می دهد تنها مشکل در قسمت تابع
btnSubmitOrder_Click
می باشد که به جای ثبت اطلاعات به ازای هر فیلد مقدار
null
وارد می کند.
البته تابع به صورت زیر بود :
Private Sub btnSubmitOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tblOrders As DataTable = dsShoppingCart.Tables.Add("Orders")
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 Orders (CustomerID, OrderDate) VALUES (?, ?); SELECT SCOPE_IDENTITY() AS OrderID"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add(New OleDbParameter("@CustomerID", OleDbType.WChar, 50, ParameterDirection.Input, False, 0, 0, "CustomerID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@OrderDate", OleDbType.DBTimeStamp, 0, ParameterDirection.Input, False, 0, 0, "OrderDate", DataRowVersion.Current, Nothing))
cmdInsert.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
daOrders.InsertCommand = cmdInsert
daDetails = New OleDbDataAdapter("", cn)
strSQL = "INSERT INTO [Order Details] (OrderID, ProductID, Quantity, UnitPrice) VALUES (?, ?, ?, ?)"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add(New OleDbParameter("@OrderID", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "OrderID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@ProductID", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "ProductID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@Quantity", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "Quantity", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@UnitPrice", OleDbType.Currency, 0, ParameterDirection.Input, False, 0, 0, "UnitPrice", DataRowVersion.Current, Nothing))
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 = False
gridCart.Columns(6).Visible = False
btnSubmitOrder.Visible = False
dsShoppingCart.Dispose()
dsShoppingCart = Nothing
SaveCart()
End Sub
که من آن را به این شکل تغییر دادم لطفا من را راهنمایی کنید:
Private Sub btnSubmitOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tblOrders As DataTable = dsShoppingCart.Tables.Add("Orders")
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 Orders (CustomerID, OrderDate) VALUES (?, ?); SELECT SCOPE_IDENTITY() AS OrderID"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add("@CustomerID", Data.OleDb.OleDbType.WChar, 50)
cmdInsert.Parameters.Add("@OrderDate", Data.OleDb.OleDbType.DBTimeStamp, 0)
cmdInsert.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
daOrders.InsertCommand = cmdInsert
daDetails = New OleDbDataAdapter("", cn)
strSQL = "INSERT INTO [Order Details] (OrderID, ProductID, Quantity, UnitPrice) VALUES (?, ?, ?, ?)"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add("@OrderID", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@ProductID", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@Quantity", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@UnitPrice", Data.OleDb.OleDbType.Currency, 0)
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 = False
gridCart.Columns(6).Visible = False
btnSubmitOrder.Visible = False
dsShoppingCart.Dispose()
dsShoppingCart = Nothing
SaveCart()
End Sub
باتشکر فرشته
من محیط یک فروشگاه را به صورت خیلی ابتدایی(البته با کمک) طراحی کردم تمام مراحل مورد نظر را با موفقیت انجام می دهد تنها مشکل در قسمت تابع
btnSubmitOrder_Click
می باشد که به جای ثبت اطلاعات به ازای هر فیلد مقدار
null
وارد می کند.
البته تابع به صورت زیر بود :
Private Sub btnSubmitOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tblOrders As DataTable = dsShoppingCart.Tables.Add("Orders")
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 Orders (CustomerID, OrderDate) VALUES (?, ?); SELECT SCOPE_IDENTITY() AS OrderID"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add(New OleDbParameter("@CustomerID", OleDbType.WChar, 50, ParameterDirection.Input, False, 0, 0, "CustomerID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@OrderDate", OleDbType.DBTimeStamp, 0, ParameterDirection.Input, False, 0, 0, "OrderDate", DataRowVersion.Current, Nothing))
cmdInsert.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
daOrders.InsertCommand = cmdInsert
daDetails = New OleDbDataAdapter("", cn)
strSQL = "INSERT INTO [Order Details] (OrderID, ProductID, Quantity, UnitPrice) VALUES (?, ?, ?, ?)"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add(New OleDbParameter("@OrderID", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "OrderID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@ProductID", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "ProductID", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@Quantity", OleDbType.Integer, 0, ParameterDirection.Input, False, 0, 0, "Quantity", DataRowVersion.Current, Nothing))
cmdInsert.Parameters.Add(New OleDbParameter("@UnitPrice", OleDbType.Currency, 0, ParameterDirection.Input, False, 0, 0, "UnitPrice", DataRowVersion.Current, Nothing))
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 = False
gridCart.Columns(6).Visible = False
btnSubmitOrder.Visible = False
dsShoppingCart.Dispose()
dsShoppingCart = Nothing
SaveCart()
End Sub
که من آن را به این شکل تغییر دادم لطفا من را راهنمایی کنید:
Private Sub btnSubmitOrder_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tblOrders As DataTable = dsShoppingCart.Tables.Add("Orders")
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 Orders (CustomerID, OrderDate) VALUES (?, ?); SELECT SCOPE_IDENTITY() AS OrderID"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add("@CustomerID", Data.OleDb.OleDbType.WChar, 50)
cmdInsert.Parameters.Add("@OrderDate", Data.OleDb.OleDbType.DBTimeStamp, 0)
cmdInsert.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
daOrders.InsertCommand = cmdInsert
daDetails = New OleDbDataAdapter("", cn)
strSQL = "INSERT INTO [Order Details] (OrderID, ProductID, Quantity, UnitPrice) VALUES (?, ?, ?, ?)"
cmdInsert = New OleDbCommand(strSQL, cn)
cmdInsert.Parameters.Add("@OrderID", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@ProductID", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@Quantity", Data.OleDb.OleDbType.Integer, 0)
cmdInsert.Parameters.Add("@UnitPrice", Data.OleDb.OleDbType.Currency, 0)
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 = False
gridCart.Columns(6).Visible = False
btnSubmitOrder.Visible = False
dsShoppingCart.Dispose()
dsShoppingCart = Nothing
SaveCart()
End Sub
باتشکر فرشته