作者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