Error ตรง Dim Y1 As Integer = cmd.ExecuteNonQuery
Private Sub btnAddData_Click(sender As Object, e As EventArgs) Handles btnAddData.Click
Dim cn As New SqlConnection(Module1.SqlCon)
Dim cmd As New SqlCommand("insert into Sale(Sale_ID,Sale_Date,Sale_Total,Sale_Recieve,Sale_Change) values (@s1,@s2,@s3,@s4,@s5)", cn)
cmd.Parameters.AddWithValue("@s1", txtSaleID.Text)
cmd.Parameters.AddWithValue("@s2", txtDate.Text)
cmd.Parameters.AddWithValue("@s3", txtTotal.Text)
cmd.Parameters.AddWithValue("@s4", txtRecieve.Text)
cmd.Parameters.AddWithValue("@s5", txtChange.Text)
cn.Open()
Dim Y1 As Integer = cmd.ExecuteNonQuery
Dim Y2 As Integer
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim cmd1 As New SqlCommand("insert into SaleDetail(Sale_ID,P_ID,P_Name,P_Price,P_Qty,P_Total) values (@sd1,@sd2,@sd3,@sd4,@sd5,@sd6)", cn)
cmd1.Parameters.AddWithValue("@sd1", txtSaleID.Text)
cmd1.Parameters.AddWithValue("@sd2", DataGridView1.Rows(i).Cells(0).Value)
cmd1.Parameters.AddWithValue("@sd3", DataGridView1.Rows(i).Cells(1).Value)
cmd1.Parameters.AddWithValue("@sd4", DataGridView1.Rows(i).Cells(2).Value)
cmd1.Parameters.AddWithValue("@sd5", DataGridView1.Rows(i).Cells(3).Value)
cmd1.Parameters.AddWithValue("@sd6", DataGridView1.Rows(i).Cells(4).Value)
Y2 = cmd1.ExecuteNonQuery
Next
If Y1 = 1 And Y2 = 1 Then
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว")
DataGridView1.Rows.Clear()
txtTotal.Text = "0.00"
txtRecieve.Text = "0.00"
txtChange.Text = "0.00"
ClearData()
btnAddData.Enabled = False
AutoID()
Else
MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้")
End If
cn.Close()
End Sub
ไม่ไหวแก้แล้วค่ะ ปวดหัวมากๆ
System.Data.SqlClient.SqlException: 'Error converting data type nvarchar to float.' แก้ยังไงคะ?
Private Sub btnAddData_Click(sender As Object, e As EventArgs) Handles btnAddData.Click
Dim cn As New SqlConnection(Module1.SqlCon)
Dim cmd As New SqlCommand("insert into Sale(Sale_ID,Sale_Date,Sale_Total,Sale_Recieve,Sale_Change) values (@s1,@s2,@s3,@s4,@s5)", cn)
cmd.Parameters.AddWithValue("@s1", txtSaleID.Text)
cmd.Parameters.AddWithValue("@s2", txtDate.Text)
cmd.Parameters.AddWithValue("@s3", txtTotal.Text)
cmd.Parameters.AddWithValue("@s4", txtRecieve.Text)
cmd.Parameters.AddWithValue("@s5", txtChange.Text)
cn.Open()
Dim Y1 As Integer = cmd.ExecuteNonQuery
Dim Y2 As Integer
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim cmd1 As New SqlCommand("insert into SaleDetail(Sale_ID,P_ID,P_Name,P_Price,P_Qty,P_Total) values (@sd1,@sd2,@sd3,@sd4,@sd5,@sd6)", cn)
cmd1.Parameters.AddWithValue("@sd1", txtSaleID.Text)
cmd1.Parameters.AddWithValue("@sd2", DataGridView1.Rows(i).Cells(0).Value)
cmd1.Parameters.AddWithValue("@sd3", DataGridView1.Rows(i).Cells(1).Value)
cmd1.Parameters.AddWithValue("@sd4", DataGridView1.Rows(i).Cells(2).Value)
cmd1.Parameters.AddWithValue("@sd5", DataGridView1.Rows(i).Cells(3).Value)
cmd1.Parameters.AddWithValue("@sd6", DataGridView1.Rows(i).Cells(4).Value)
Y2 = cmd1.ExecuteNonQuery
Next
If Y1 = 1 And Y2 = 1 Then
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว")
DataGridView1.Rows.Clear()
txtTotal.Text = "0.00"
txtRecieve.Text = "0.00"
txtChange.Text = "0.00"
ClearData()
btnAddData.Enabled = False
AutoID()
Else
MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้")
End If
cn.Close()
End Sub
ไม่ไหวแก้แล้วค่ะ ปวดหัวมากๆ