error Must declare the scalar variable "@Product_ID". แก้ไขไม่ได้เลย ดูโค้ดข้างในนะคะ
Code (VB.NET)
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Try
Conn.Open()
Trs = Conn.BeginTransaction(IsolationLevel.ReadCommitted)
sql = "insert into SaleOrder (Cus_ID,SaleOrder_Date) values (@Cus_ID,@SaleOrder_Date)"
cmd = New SqlCommand(sql, Conn)
cmd.Parameters.AddWithValue("Cus_ID", TextBox1.Text)
cmd.Parameters.AddWithValue("SaleOrder_Date", Label16.Text)
With cmd
.Connection = Conn
.Transaction = Trs
.CommandType = CommandType.Text
.CommandText = sql
End With
cmd.ExecuteNonQuery()
Trs.Commit()
Conn.Close()
Conn.Open()
sql = "select max(SaleOrder_ID) as maxID from SaleOrder "
cmd = New SqlCommand(sql, Conn)
Reader = cmd.ExecuteReader
Reader.Read()
Dim s_id As Integer
s_id = CInt(Reader("maxID"))
's_id = s_id + 1
Conn.Close()
Conn.Open()
' Trs = Conn.BeginTransaction(IsolationLevel.ReadCommitted)
Dim i As Integer
For i = 0 To DataGridView1.Rows.Count - 2
sql = "insert into LotSaleOrder (Product_ID,sale_amount,SaleOrder_ID) " & _
"values (@Product_ID,@sale_amount,@SaleOrder_ID) "
cmd = New SqlCommand(sql, Conn)
cmd.Parameters.AddWithValue("@Product_ID", DataGridView1.Rows(i).Cells(1).Value)
cmd.Parameters.AddWithValue("@sale_amount", DataGridView1.Rows(i).Cells(3).Value)
cmd.Parameters.AddWithValue("@SaleOrder_ID", s_id)
cmd.Parameters.Clear()
With cmd
.Connection = Conn
.Transaction = Trs
.CommandType = CommandType.Text
.CommandText = sql
End With
cmd.ExecuteNonQuery()
Trs.Commit()
Next
MessageBox.Show("บันทึกรายการเรียบร้อย")
Conn.Close()
Catch ex As Exception
Trs.Rollback()
MessageBox.Show("เกิดข้อผิดพลาด")
Conn.Close()
End Try
End Sub
error Must declare the scalar variable "@Product_ID".Tag : .NET, Ms SQL Server 2005, Win (Windows App), VS 2005 (.NET 2.x)
Date :
2012-04-26 09:59:48
By :
karnnoii
View :
2011
Reply :
9
Product_ID เก็บเป็นชนิด อะไร ตัวเลขรึป่าว ?
Date :
2012-04-26 10:11:34
By :
rootElement@kmutnb
เก็บเป็น char ค่ะ
Date :
2012-04-26 10:18:23
By :
karnnoii
char มันต้องใส่ ' ' ด้วยรึป่าว
( ' @Product_ID',@sale_amount,@SaleOrder_ID)
Date :
2012-04-26 10:24:58
By :
rootElement@kmutnb
ลองใช้ objCmd.Parameters.Add ครับ
Code (VB.NET)
'*** Insert to Database ***'
Dim objConn As New SqlConnection
Dim strConnString, strSQL As String
strConnString = "Server=localhost;UID=sa;PASSWORD=;database=mydatabase;Max Pool Size=400;Connect Timeout=600;"
strSQL = "INSERT INTO files (Name,FilesName,FilesType) " & _
" VALUES " & _
" (@sName,@sFilesName,@sFilesType)"
objConn.ConnectionString = strConnString
objConn.Open()
Dim objCmd As New SqlCommand(strSQL, objConn)
objCmd.Parameters.Add("@sName", SqlDbType.VarChar).Value = Me.txtName.Text
objCmd.Parameters.Add("@sFilesName", SqlDbType.Binary).Value = imbByte
objCmd.Parameters.Add("@sFilesType", SqlDbType.VarChar).Value = strMIME
objCmd.ExecuteNonQuery()
objConn.Close()
objConn = Nothing
Date :
2012-04-26 10:27:41
By :
webmaster
คุณไปผูก Key อะไรไว้แล้ว data มันไม่ถูกต้องหรือเปล่าครับ
Date :
2012-04-26 11:24:26
By :
webmaster
ผูกไว้อยู่ค่ะ กับตาราง Product
โค้ดข้างบน คือต้องการเก็บ Product_ID ลงใน รายการขายของค่ะ
Date :
2012-04-26 11:48:14
By :
karnnoii
แสดงว่ามันน่าจะไม่มี product id ที่ insert ในตาราง product ครับ เลยทำให้ key ที่เป็น FK เกิด Error ครับ
Date :
2012-04-26 11:49:51
By :
webmaster
แต่ใน ตาราง Product มีการ insert ข้อมูลอยู่นะคะ
Date :
2012-04-26 11:57:54
By :
karnnoii
Load balance : Server 02