作者MOONRAKER (㊣八點了!全體集合!)
看板Visual_Basic
標題Re: [.NET] 查詢運算式中的 語法錯誤
時間Mon Jul 27 15:28:16 2009
※ 引述《blackspace98 (~我愛夏天~)》之銘言:
: 1.查詢運算式 'CategoryID = AND StartingBidDate <= #07/27/2009 12:23:26# AND
: BidEnded = false' 中的 語法錯誤 (少了運算元)。
阿他都把接收到的SQL query給你看了,CategoryID=後面一片空白,表示你的
categoryID.value的值是空字串啊。為什麼沒有給值出來你要自己找出問題,
下面那個ItemID=也是一樣。
另外就是別再用這種 " ... " & xxx & " ... 的老方法拼SQL了
用點比較先進的方法吧
strSQL = "SELECT * FROM AuctionItems WHERE "
strSQL &= "CategoryID = " & categoryID.Value & " "
strSQL &= " AND StartingBidDate <= #" & DateTime.Now.ToString("G",
DateTimeFormatInfo.InvariantInfo) & "# "
strSQL &= "AND BidEnded = false ORDER BY CloseBidDate"
ItemSource.SelectCommand = strSQL
等於
SQL = string.format(" SELECT * FROM AuctionItems " & _
" WHERE CategoryID = '{0}' AND StartingBidDate <= #{1}# " & _
" AND BidEnded = false ORDER BY CloseBidDate ", _
categoryID.Value, _
DateTime.Now.ToString("G", DateTimeFormatInfo.InvariantInfo) )
這樣;string.format()第一個參數是format string, 裡面用的{0}, {1}等會自動
取代成第二個、第三個、…參數。
上面是有用到續行符號( _),你自己也有用
既然用了續行符號那可以把格式弄得更清楚一點
例如
SQL = string.format( _
" SELECT * FROM AuctionItems WHERE CategoryID = '{0}' " & _
" AND StartingBidDate <= #{1}# AND BidEnded = false " & _
" ORDER BY CloseBidDate " _
, categoryID.Value _
, DateTime.Now.ToString("G", DateTimeFormatInfo.InvariantInfo) _
)
把右括號和 string.format( 對齊,後面參數的逗點放到前面,比較不容易忘記。
--
Google 關鍵字 : MPFC-TCP / 殺人笑話 / 包租婆也有過當羅莉的時候
Youtube關鍵字 : 脫衫脫褲 / 傻蛋奧運 / 宗教審訊 / 買張床 / 單車超人 / 謳歌金錢
*美髮師登山隊 http://tinyurl.com/dm6lh3 *Ypres 1914 http://tinyurl.com/b432jb
[蒙帝派松正體中文計畫] http://www.youtube.com/user/JamesBondXD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.168.228
推 blackspace98:為什麼沒有給值出來..那問題是要從其他網頁傳過的值 07/27 16:24
→ blackspace98:我先給他的值 就可以了(在還沒套用大大的心寫法之前) 07/27 16:25
→ blackspace98:但是套用了 大大您給的新的寫法 編譯器會出現 07/27 16:27
→ blackspace98:準則運算式的資料類型不符合 然後再附帶一堆堆疊追蹤 07/27 16:29
→ blackspace98:然後就不太行了@@ 謝謝大大您的指點^^ 07/27 16:29
→ MOONRAKER:大概某一個參數轉字串中有問題吧 算了你別管這個了 07/27 16:50
→ MOONRAKER:format.string() 原則很簡單,有機會再用就好了 X( 07/27 16:51
推 blackspace98:非常的感謝你嘍^^ 07/27 16:52
推 ccccccc540:這篇幫了我大忙(汗,真是非常感謝^^ 06/22 16:41