sql = "SELECT Count(Pro_Order) AS CProOrder"
sql &= " FROM MB51"
sql &= " WHERE Plnt='" & txt_plant.Text & "' and MvT=261 and Material NOT BETWEEN '10000000' AND '19999999' and Pro_Order='" & ProOrder_Bom & "'"
Dim cn As New SqlConnection(strConxx)
If cn.State = ConnectionState.Open Then cn.Close()
cn.Open()
Dim comx As New SqlCommand(sql, cn)
Dim dr_xz As SqlDataReader
dr_xz = comx.ExecuteReader
Dim k_xz As Integer = 0
k_xz = dr_xz.Item("CProOrder").ToString()
MsgBox(k_xz)
cn.Close()
ลองตัด where ออกก่อน แล้วก็ค่อยๆ ใส่ไปทีละอัน ดุว่าอันไหนที่ทำให้มีปัญหา
Code (C#) : แบบแรก
sql = "SELECT Count(Pro_Order) AS CProOrder"
sql &= " FROM MB51"
'sql &= " WHERE Plnt='" & txt_plant.Text & "' and MvT=261 and Material NOT BETWEEN '10000000' AND '19999999' and Pro_Order='" & ProOrder_Bom & "'"
sql = "SELECT Count(Pro_Order) AS CProOrder"
sql &= " FROM MB51"
sql &= " WHERE Plnt='" & txt_plant.Text & "'"
'sql &= " WHERE Plnt='" & txt_plant.Text & "' and MvT=261 and Material NOT BETWEEN '10000000' AND '19999999' and Pro_Order='" & ProOrder_Bom & "'"
sql = "SELECT Count(Pro_Order) AS CProOrder"
sql &= " FROM MB51"
sql &= " WHERE Plnt='" & txt_plant.Text & "' and MvT=261"
'sql &= " WHERE Plnt='" & txt_plant.Text & "' and MvT=261 and Material NOT BETWEEN '10000000' AND '19999999' and Pro_Order='" & ProOrder_Bom & "'"
อย่างเนี้ย ทำแบบนี้เวลาสงสัยว่าทำไม query data แล้วไม่ออก คือถ้ามั่นใจว่าข้อมูลแบบที่เรากำหนดเงื่อนไขใน where ไปน่ะมีอยู่แน่ๆ ก็ใส่ไปเลย ยังไงก็ต้องออก แต่ถ้าไป copy เค้ามาหรือ เอามาจากคนอื่น ก็ต้องค่อยๆ ลองไปก่อน เพราะเงื่อนไขที่ได้มาอาจจะใช้ไม่ได้ก็ได้
Sql = "SELECT Count(Pro_Order) FROM MB51" & _
" WHERE Plnt='" & txt_plant.Text & "' and MvT=261 AND" & _
" Material(Not BETWEEN) '10000000' AND '19999999' and Pro_Order='" & ProOrder_Bom & "'"
Dim cn As New SqlConnection(strConxx)
If cn.State = ConnectionState.Open Then cn.Close()
cn.Open()
Dim comx As New SqlCommand(Sql, cn)
Dim Count As Object
Try
Count = comx.ExecuteScalar
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cn.Close()
End Try
If Count IsNot DBNull.Value Then
MsgBox(CInt(Count))
Else
MessageBox.Show("ไม่มีข้อมูล")
End If