 |
|
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 :
2066 |
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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|