[SQL ] MySQL用OdbcDataAdapter更新的問題

看板C_Sharp作者 (諺ㄟ)時間15年前 (2011/03/28 17:04), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
※ [本文轉錄自 Database 看板 #1Da1CPny ] 作者: hanyan (諺ㄟ) 看板: Database 標題: [SQL ] MySQL用OdbcDataAdapter更新的問題 時間: Mon Mar 28 12:48:22 2011 大家好 我目前用C#寫一個連MySQL的程式 希望資料表修改後使用Update函式做更新 但是OdbcDataAdapter的Command要自已下 我試做了刪除,SQL語法如下:"DELETE FROM `advertisement`" 更新之後是整個資科都刪除了 好吧,我知道我好傻好天真 我以為它會自己判斷那一個資料被刪除~"~ 所以想請問,像這樣的狀況,Command應該要怎麼寫? 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.113.162

03/28 13:12, , 1F
DELETE FROM `table` WHERE XX=OOO;
03/28 13:12, 1F
我知道要下where做條件,但是我不知道用Update函式的XX=OOO要給什麼 剛剛用了CommandBuilder抓它的Command,第一次沒過 我猜是Apache的MySQL語法要多`這個東西 第二次我自己補上` 但是就出現"SQLBindParameter not used for all parameters"的例外 有人知道怎麼解嗎? CommandBuilder以DeleteCommand為例 DELETE FROM advertisement WHERE (((? = 1 AND index IS NULL) OR (index = ?)) AND (start = ?) AND (end = ?)) 這是個合法的SQL語法,但是因為Apache的MySQL要用`把欄位名稱包起來 像這樣DELETE FROM advertisement WHERE `index` = 2 所以用CommandBuilder的Command會出現錯誤 於是我就自己用OdbcCommand給一樣的SQL語法,但是還是會錯 用錯誤嘗試法的結果,我猜測是OdbcCommand給 ? 的關係 只接給參數就會過,這是目前的狀況。 ※ 編輯: hanyan 來自: 61.220.113.162 (03/28 17:46)

04/03 07:40, , 2F
剛剛找到一篇 http://goo.gl/7GwJ8 他是不能 SELECT *
04/03 07:40, 2F

04/03 07:41, , 3F
只能SELECT 參數。後來發現是因為和 utf8_general_ci衝
04/03 07:41, 3F

04/03 07:43, , 4F
後來他改用他們的瑞典語latin1_swedish_ci 才可以給 *
04/03 07:43, 4F

04/03 07:43, , 5F
不知道和這有沒有關係
04/03 07:43, 5F
文章代碼(AID): #1Da4yn8- (C_Sharp)