【求助】SQL語法錯誤

顯示結果從第 1 筆 到 6 筆,共計 6 筆
  1. #1
    會員
    註冊日期
    2001-07-04
    討論區文章
    44

    【求助】SQL語法錯誤

    不好意思,各位大大,我SQL語法有問題了!問題描述如下:

    ------------------------------------------------------------
    <%
    dim dtDay
    dtDay = request("distence")
    distence2 = "T_" & Year(dtDay) & "_" & Month(dtDay) & "_" & Day(dtDay)
    sql = "update users SET '" & distence2 & "' = 1 WHERE id = '" & session("id") &"'"
    set rs=conn.execute(sql)
    %>
    ------------------------------------------------------------
    request("distence")的格式是「yyyy/mm/dd」,字串distence2是把它轉變成「T_yyyy_mm_dd」的格式,因為SQL欄位中不能有「/」且第一個字元要為字母,所以把它轉成有底線並加「T」_的格式(我的欄位是T_2003_11_23~2004_2_10),如果要設IF徊圈來判斷資料作更新,就要設定60個以上的條件,所以小弟才想要用「distence2 = "T_" & Year(dtDay) & "_" & Month(dtDay) & "_" & Day(dtDay)
    sql = "update users SET '" & distence2 & "' = 1 WHERE id = '" & session("id") &"'"」來自動產生欄位的名稱並做更新,但出現以下訊息:
    ------------------------------------------------------------
    錯誤類型:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][ODBC SQL Server Driver][SQL Server]行 1: 'T_2003_11_23' 附近的語法不正確。<==就是'" & distence2 & "'
    ------------------------------------------------------------
    它欄位都已經產生我想要的名字了,為什麼還是不能更新資料且會錯誤呢?請各位大大幫我解答∼∼謝謝∼!感激不盡!



  2. #2
    嘴炮戰隊隊長 ivantw 的大頭照
    註冊日期
    2002-05-04
    所在地區
    CHT FTTH 100M/20M Static IP
    討論區文章
    4,903
    有轉成字元型態嗎?

  3. #3
    會員
    註冊日期
    2001-07-04
    討論區文章
    44
    最初由 Ivan Lin 發表
    有轉成字元型態嗎?
    他合併之後不就已經是字元型態了嗎?
    難道還要在用別的函數來轉換嗎?

  4. #4
    會員
    註冊日期
    2001-07-04
    討論區文章
    44
    最初由 Ivan Lin 發表
    有轉成字元型態嗎?
    順帶一題,我用IF....ELSEIF寫兩試看看,但資料就是插入不到資料庫:

    <%
    dim dtDay
    dtDay = request("distence")

    sql = "insert into result (id,inputdate,question,degree) values ('"& session("id") &"',"
    sql = sql & "getdate(),'"& rs("serial") &"','"& correctamount &"')"

    dis = "T_" & Year(dtDay) & "_" & Month(dtDay) & "_" & Day(dtDay)

    if dis = T_2003_11_23 Then
    sql = "update users SET T_2003_11_23 = T_2003_11_23 + 1 WHERE id = a1234"
    set rs = conn.execute(sql)

    elseif dis = T_2003_11_24 Then
    sql = "update users SET T_2003_11_24 = 1 WHERE id = '" & session("id") &"'"
    set rs = conn.execute(sql)

    END If
    %>

  5. #5
    會員
    註冊日期
    2001-11-25
    討論區文章
    160
    您update語法錯了吧.....查查asp的書吧!



  6. #6
    會員
    註冊日期
    2003-09-15
    討論區文章
    9

    回覆: 【求助】SQL語法錯誤

    最初由 tigerlin901 發表
    不好意思,各位大大,我SQL語法有問題了!問題描述如下:

    ------------------------------------------------------------
    <%
    dim dtDay
    dtDay = request("distence")
    distence2 = "T_" & Year(dtDay) & "_" & Month(dtDay) & "_" & Day(dtDay)
    sql = "update users SET '" & distence2 & "' = 1 WHERE id = '" & session("id") &"'"
    set rs=conn.execute(sql)
    %>
    不知道你解決了沒
    你有嘗試著把你的 SQL String 印出來看嗎?
    按照你的語法
    假設id是 John 好了
    那麼應該會如下所示
    sql = "update users set 'T_2003_11_23' = 1 where id='John'"
    欄位名稱應該是不需要加上單引號吧
    我應該沒記錯吧.....(SQL的書已經封箱了...)

類似的主題

  1. 【抱怨】用KKman瀏覽器看pczone,一直出現"語法錯誤"視窗
    作者:linux_xp 所在討論版:-- 站 務 公 告 與 建 議 版
    回覆: 7
    最後發表: 2004-12-02, 12:55 PM
  2. 【問題】使用 xxx:[email protected] 格式IE會出現語法錯誤
    作者:Blueness 所在討論版:-- 網 路 軟 體 討 論 一 版 (Browser,Email
    回覆: 4
    最後發表: 2004-02-27, 04:15 PM
  3. ACCESS 2000哪裡可下SQL語法
    作者:ivyserver 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 3
    最後發表: 2003-06-14, 09:57 PM
  4. ie常常會出現一個小視窗-語法錯誤
    作者:范靜善 所在討論版:-- 網 路 軟 體 討 論 一 版 (Browser,Email
    回覆: 1
    最後發表: 2002-08-04, 01:50 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •