none
出現 => 接近','之處語法不正確 RRS feed

  • 問題

  • 我只有單純的用Datagridview顯示資料表想做更改

    就跳出這個畫面

    請問有人知道嗎?

    UPDATE          機種表
    SET                   料號 =, 機種 =

    2014年10月6日 上午 02:52

解答

  • 如果您是要更新所有的記錄, 要這樣寫:

    UPDATE          機種表
    SET                   料號 =內容值, 機種 = 內容值

    其中的內容值若為字串, 前後要有單引號

    • 已標示為解答 XX阿忠XX 2014年10月7日 上午 01:44
    2014年10月6日 上午 03:55
  • 您好,

    您的SQL少了一個逗號! 安全庫存的前面

    UPDATE          db_securityadmin.總表
    SET                   料號 = @料號, 品名 = @品名, 數量 = @數量, 儲位 = @儲位, 使用次數 = @使用次數, 可用次數 = @可用次數, 圖片 = @圖片
                               , 安全庫存 = @安全庫存, 圖片 = @圖片
    WHERE          (@IsNull_料號 = 1) AND (料號 IS NULL OR 料號) = @Original_料號) AND
          (@IsNull_品名 = 1 AND 品名 IS NULL OR 品名 = @Original_品名) AND
          (@IsNull_數量 = 1 AND 數量 IS NULL OR 數量 = @Original_數量) AND
          (@IsNull_儲位 = 1 AND 儲位 IS NULL OR 儲位 = @Original_儲位) AND
          (@IsNull_ 使用次數 = 1 AND 使用次數 IS NULL OR 使用次數 = @Original_使用次數) AND
          (@IsNull_可用次數 = 1 AND 可用次數 IS NULL OR  可用次數 = @Original_可用次數) AND
                   (@IsNull_ 安全庫存 = 1 AND 安全庫存 IS NULL OR 安全庫存 = @Original_安全庫存) AND
          (@IsNull_圖片 = 1 AND 圖片 IS NULL OR 圖片 = @Original_圖片)


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    • 已編輯 亂馬客 2014年10月6日 上午 08:55
    • 已標示為解答 XX阿忠XX 2014年10月7日 上午 01:44
    2014年10月6日 上午 08:53

所有回覆

  • 你的參數哩? 沒資料要更新什麼?

    另外,沒有 WHERE,會更新所有的資料。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2014年10月6日 上午 03:04
    版主
  • 我想要在datagridview上更改之後全部覆寫

    執行的時候可以寫入但是不能更改

    2014年10月6日 上午 03:49
  • 如果您是要更新所有的記錄, 要這樣寫:

    UPDATE          機種表
    SET                   料號 =內容值, 機種 = 內容值

    其中的內容值若為字串, 前後要有單引號

    • 已標示為解答 XX阿忠XX 2014年10月7日 上午 01:44
    2014年10月6日 上午 03:55
  • 感謝指點

    我照書上範例改成這樣就成功

    UPDATE          機種表
    SET                   機種 = @機種, 料號 = @料號
    WHERE          (@IsNull_機種 = 1) AND (機種 IS NULL) AND (@IsNull_料號 = 1) AND (料號 IS NULL) OR
                                (@IsNull_機種 = 1) AND (機種 IS NULL) AND (料號 = @Original_料號) OR
                                (機種 = @Original_機種) AND (@IsNull_料號 = 1) AND (料號 IS NULL) OR
                                (機種 = @Original_機種) AND (料號 = @Original_料號)



    2014年10月6日 上午 05:18
  • 你的表內沒有唯一鍵值嗎... 一次查詢要比這麼多效率會不好。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2014年10月6日 上午 05:41
    版主
  • 我剛開始學SQL...Sor..

    所以是需要設定索引嗎?

    我一樣的東西後來放另外一個資料表就出錯了..

    UPDATE          db_securityadmin.總表
    SET                   料號 = @料號, 品名 = @品名, 數量 = @數量, 儲位 = @儲位, 使用次數 = @使用次數, 可用次數 = @可用次數, 圖片 = @圖片 
                                安全庫存 = @安全庫存, 圖片 = @圖片
    WHERE          (@IsNull_料號 = 1) AND (料號 IS NULL OR 料號) = @Original_料號) AND 
          (@IsNull_品名 = 1 AND 品名 IS NULL OR 品名 = @Original_品名) AND 
          (@IsNull_數量 = 1 AND 數量 IS NULL OR 數量 = @Original_數量) AND 
          (@IsNull_儲位 = 1 AND 儲位 IS NULL OR 儲位 = @Original_儲位) AND 
          (@IsNull_ 使用次數 = 1 AND 使用次數 IS NULL OR 使用次數 = @Original_使用次數) AND 
          (@IsNull_可用次數 = 1 AND 可用次數 IS NULL OR  可用次數 = @Original_可用次數) AND 
                   (@IsNull_ 安全庫存 = 1 AND 安全庫存 IS NULL OR 安全庫存 = @Original_安全庫存) AND 
          (@IsNull_圖片 = 1 AND 圖片 IS NULL OR 圖片 = @Original_圖片)

    接近識別項 安全庫存 的地方發生錯誤。必須是 OUTPUT。

    2014年10月6日 上午 06:15
  • 您好,

    您的SQL少了一個逗號! 安全庫存的前面

    UPDATE          db_securityadmin.總表
    SET                   料號 = @料號, 品名 = @品名, 數量 = @數量, 儲位 = @儲位, 使用次數 = @使用次數, 可用次數 = @可用次數, 圖片 = @圖片
                               , 安全庫存 = @安全庫存, 圖片 = @圖片
    WHERE          (@IsNull_料號 = 1) AND (料號 IS NULL OR 料號) = @Original_料號) AND
          (@IsNull_品名 = 1 AND 品名 IS NULL OR 品名 = @Original_品名) AND
          (@IsNull_數量 = 1 AND 數量 IS NULL OR 數量 = @Original_數量) AND
          (@IsNull_儲位 = 1 AND 儲位 IS NULL OR 儲位 = @Original_儲位) AND
          (@IsNull_ 使用次數 = 1 AND 使用次數 IS NULL OR 使用次數 = @Original_使用次數) AND
          (@IsNull_可用次數 = 1 AND 可用次數 IS NULL OR  可用次數 = @Original_可用次數) AND
                   (@IsNull_ 安全庫存 = 1 AND 安全庫存 IS NULL OR 安全庫存 = @Original_安全庫存) AND
          (@IsNull_圖片 = 1 AND 圖片 IS NULL OR 圖片 = @Original_圖片)


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/



    • 已編輯 亂馬客 2014年10月6日 上午 08:55
    • 已標示為解答 XX阿忠XX 2014年10月7日 上午 01:44
    2014年10月6日 上午 08:53
  • 良心建議:

    資料庫欄位名稱, 變數名稱之類的東西最好不要用中文, 雖然說現在是 Unicode 的時代, 但會怎麼出毛病是沒人猜的到的.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2014年10月8日 上午 09:41
    版主