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