VB เออเล่อ มันฟ้อง ว่า Incorrect syntax near '#'.ส่วน โค๊ดที่ฟ้อง คือ da = New SqlDataAdapter(sqlSale, Conn) da.Fill(ds, "take")
คุณได้ประกาศตัวแปร da รึป่าวคับ
Date :
2010-02-19 20:01:15
By :
noombao
ปะกาศแล้วค่ะ
Code (VB.NET)
Dim ds As DataSet = New DataSet
Date :
2010-02-21 17:54:15
By :
NN
เปลี่ยนเออเล่อ อีกแล้ว
กลายเป็น เออเล่อ แบบนี้ The ConnectionString property has not been initialized.
Code (VB.NET)
da = New SqlDataAdapter(sqlSale, strConn)
da.Fill(ds, "take")
Date :
2010-02-21 18:21:23
By :
NN
"The connectionsting property has not been initialized."
น่าจะเป็นเพราะก่อน da = new sqldataadapeter(sqlsale, strConn) ต้องมีการเชื่อต่อdatabase ก่อนนะครับ
เพราะที่ฟ้องมันบอกว่ายังไม่ได้เชื่อมต่อดาต้าเบส
ส่วนที่ฟ้องว่า Incorrect syntax near '#'
เราต้องเช็คที่ sql statement ที่เราส่งเข้าไปผ่านตัวแปร sqlSale ครับ ว่ามันผิดตรงไหน
ตัวdebug มันแนะนำว่าน่าจะผิดแถวๆที่มีเครื่องหมาย # ใน sql statement ของเราอะครับ
ถ้าหาไม่เจอว่าผิดตรงไหนลองโพสมาก็ได้ครับจะได้ช่วยๆกันดู
Date :
2010-02-21 18:43:51
By :
oaoamaru
รบกวนหน่อยนะค่ะ
งง มากเลย ค่ะ
Code (VB.NET)
Dim sqlSale As String = ""
Dim dtfInfo As DateTimeFormatInfo
dtfInfo = DateTimeFormatInfo.InvariantInfo
sqlSale = "SELECT * FROM take"
sqlSale &= " WHERE ( takeid BETWEEN #" & dtpstart.Value.ToString("d", dtfInfo)
sqlSale &= " # AND #" & dtpEnd.Value.ToString("d", dtfInfo) & "#)"
Dim strConn As String
strConn = DBConnString.strConn
Conn = New SqlConnection()
With Conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With
If IsFind = True Then
ds.Tables("take").Clear()
End If
da = New SqlDataAdapter(sqlSale, strConn)
da.Fill(ds, "take")
If ds.Tables("take").Rows.Count <> 0 Then
IsFind = True
With grdsale
.AllowNavigation = False
.ReadOnly = True
.DataSource = ds.Tables("take")
End With
Dim i As Integer = 0
Dim tmpNet As Long = 0
For i = 0 To ds.Tables("take").Rows.Count - 1
tmpNet = tmpNet + CInt(grdsale.Item(i, 0))
Next
lblnet.Text = tmpNet.ToString("#,##0")
Else
IsFind = False
grdsale.DataSource = Nothing
lblnet.Text = "0"
MessageBox.Show("เงื่อนไขที่ป้อน ไม่มีรายการลงทะเบียนใด ๆ ", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
FormatDataGridWithData()
End Sub
Date :
2010-02-21 18:53:46
By :
NN
sqlSale &= " WHERE ( takeid BETWEEN #" & dtpstart.Value.ToString("d", dtfInfo) & "#
sqlSale &= " AND #" & dtpEnd.Value.ToString("d", dtfInfo) & "#)"
เข้าใจว่าลืม & " สองตัวนี้หน้าเครื่องหมาย # ก่อน คำว่า AND อะครับ
ลองดูนะครับ
Date :
2010-02-21 21:33:53
By :
oaoamaru
ลองเปลี่ยน แบบที่ พี่บอกแล้ว
ก้อติด ตรง นี้ เออเล่อ แบบ เดิม Incorrect syntax near '#'.
Date :
2010-02-22 14:24:33
By :
NN
ตัว takeid เนี่ยเป็นวันที่เหรอครับ
ถ้ายังไงลองcopyประโยคนี้ไปลองนะครับว่าได้มั๊ย
sqlSale = "SELECT * FROM take"
sqlSale &= " WHERE (takeid BETWEEN #" & dtpstart.Value.ToString("d", dtfInfo) & "# AND"
sqlSale &= " #" & dtpEnd.Value.ToString("d", dtfInfo) & "#)"
Date :
2010-02-22 16:34:11
By :
oaoamaru
Load balance : Server 03