หน้าใบขายผมเซฟข้อมูลลง Sql ได้ 1 รายการต่อ 1 ใบขายเองครับ ถ้าใบขายนั้นมีรายการสินค้ามากกว่า 1 รายการ มันเซฟไม่เข้าน่ะครับ ในฐานข้อมูลจะโผล่แค่รายการเดียวคือรายการแรกสุด ที่เหลือหายไปไหนไม่รู้ แต่ยอดรวมราคาขึ้นปกติครับ
โปรแกรมที่ใช้ VB 2010
ฐานข้อมูลที่ใช้ Sql ครับ
มี 2 table ที่เกี่ยวกับใบขาย คือ Sell , Sell_detail ครับ
อยากรบกวนช่วยดูโค้ดให้หน่อยครับว่าผิดตรงไหน
'=======================================
Dim sql As String = ""
' Insert ลงในตาราง Sell
sql = " Insert Into Sale(ID_Sale,ID_Cus,Date_Sale,Receive_Sale,Dis_Sale,Vat_Sale,Total,NetTotal) values(" & _
"@sid,@cid,@eid,@sd,@tm,@tp,@dc,@net)"
cmd = New SqlCommand(sql, Connection)
With cmd
.Parameters.AddWithValue("sid", TxtsaleID.Text)
.Parameters.AddWithValue("cid", TxtID.Text)
.Parameters.AddWithValue("eid", DateTimePicker1.Text)
.Parameters.AddWithValue("sd", DateTimePicker2.Text)
.Parameters.AddWithValue("tm", CInt(TxtDis.Text))
.Parameters.AddWithValue("tp", CInt(TxtVat.Text))
.Parameters.AddWithValue("dc", CInt(TxtSum.Text))
.Parameters.AddWithValue("net", CInt(TxtNet.Text))
End With
ConnectDB()
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
'======================================
'========= insert ตาราง Sell_detail
Sql = "Insert into Sale_Order(ID_Sale,ID_Product,Price,Qty) values(" & "@sid,@pid,@up,@Qty)"
cmd = New SqlCommand(Sql, Connection)
For r As Integer = 0 To DataGridView1.RowCount - 2
tmpPids = DataGridView1.Rows(r).Cells(0).Value
tmpQty = CInt(DataGridView1.Rows(r).Cells(4).Value)
With cmd
.Parameters.AddWithValue("sid", (TxtsaleID.Text))
.Parameters.AddWithValue("pid", CInt(DataGridView1.Rows(r).Cells(0).Value))
.Parameters.AddWithValue("up", CInt(DataGridView1.Rows(r).Cells(2).Value))
.Parameters.AddWithValue("Qty", CInt(DataGridView1.Rows(r).Cells(4).Value))
End With
ConnectDB()
cmd.ExecuteNonQuery()
' cmd.Parameters.Clear()
cutStock(tmpPids, tmpQty)
Next
MsgBox("Complate OK")
โค้ด VB หน้าขายไม่สามารถเซฟรายการขายหลายๆๆ รายการได้ครับ
โปรแกรมที่ใช้ VB 2010
ฐานข้อมูลที่ใช้ Sql ครับ
มี 2 table ที่เกี่ยวกับใบขาย คือ Sell , Sell_detail ครับ
อยากรบกวนช่วยดูโค้ดให้หน่อยครับว่าผิดตรงไหน
'=======================================
Dim sql As String = ""
' Insert ลงในตาราง Sell
sql = " Insert Into Sale(ID_Sale,ID_Cus,Date_Sale,Receive_Sale,Dis_Sale,Vat_Sale,Total,NetTotal) values(" & _
"@sid,@cid,@eid,@sd,@tm,@tp,@dc,@net)"
cmd = New SqlCommand(sql, Connection)
With cmd
.Parameters.AddWithValue("sid", TxtsaleID.Text)
.Parameters.AddWithValue("cid", TxtID.Text)
.Parameters.AddWithValue("eid", DateTimePicker1.Text)
.Parameters.AddWithValue("sd", DateTimePicker2.Text)
.Parameters.AddWithValue("tm", CInt(TxtDis.Text))
.Parameters.AddWithValue("tp", CInt(TxtVat.Text))
.Parameters.AddWithValue("dc", CInt(TxtSum.Text))
.Parameters.AddWithValue("net", CInt(TxtNet.Text))
End With
ConnectDB()
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
'======================================
'========= insert ตาราง Sell_detail
Sql = "Insert into Sale_Order(ID_Sale,ID_Product,Price,Qty) values(" & "@sid,@pid,@up,@Qty)"
cmd = New SqlCommand(Sql, Connection)
For r As Integer = 0 To DataGridView1.RowCount - 2
tmpPids = DataGridView1.Rows(r).Cells(0).Value
tmpQty = CInt(DataGridView1.Rows(r).Cells(4).Value)
With cmd
.Parameters.AddWithValue("sid", (TxtsaleID.Text))
.Parameters.AddWithValue("pid", CInt(DataGridView1.Rows(r).Cells(0).Value))
.Parameters.AddWithValue("up", CInt(DataGridView1.Rows(r).Cells(2).Value))
.Parameters.AddWithValue("Qty", CInt(DataGridView1.Rows(r).Cells(4).Value))
End With
ConnectDB()
cmd.ExecuteNonQuery()
' cmd.Parameters.Clear()
cutStock(tmpPids, tmpQty)
Next
MsgBox("Complate OK")