作者hanyan (諺ㄟ)
看板C_Sharp
標題[SQL ] MySQL用OdbcDataAdapter更新的問題
時間Mon Mar 28 17:04:48 2011
※ [本文轉錄自 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
1F:推 UniFish:DELETE FROM `table` WHERE XX=OOO; 03/28 13:12
我知道要下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)
3F:→ popmentos:只能SELECT 參數。後來發現是因為和 utf8_general_ci衝 04/03 07:41
4F:→ popmentos:後來他改用他們的瑞典語latin1_swedish_ci 才可以給 * 04/03 07:43
5F:→ popmentos:不知道和這有沒有關係 04/03 07:43