主题:问个数据库更新的问题!
mshaosjm
[专家分:10] 发布于 2007-03-17 23:18:00
我有个列名为num的列,列中数据为int类型
列中数据登录界面是自动加1更新。怎么办?
sql="select * from biao where name='a'"
rs.open sql,conn,3,3
/*这怎么写?我是这么写的rs("num")=rs("num")+1不行*/
rs.update
回复列表 (共6个回复)
沙发
liulei001 [专家分:12820] 发布于 2007-03-17 23:59:00
sql = "update [biao] set [num] = [num]+1 where [name]='"& a &"'"
conn.execute(sql)
板凳
飞侠 [专家分:1380] 发布于 2007-03-18 00:06:00
因该这么写:
比如你的表名叫myTable:
"UPDATE mytable SET num=Cint(num)+1 WHERE name='a'"
关键是这里:num=Cint(num)+1就可以了
3 楼
mshaosjm [专家分:10] 发布于 2007-03-18 12:58:00
楼上的少了set 而且cint sql里面不认
4 楼
飞侠 [专家分:1380] 发布于 2007-03-18 19:20:00
呵呵 我上面的方法用在ACCESS中没有问题
你这个更新的问题我以前也问过别人,别人告诉我的这种写发
然后用的没什么问题啊
5 楼
liulei001 [专家分:12820] 发布于 2007-03-19 09:46:00
1、在SQL里面没有Cint函数,也用不着,SQL本身会进行数据格式的转换。
2、name是T-SQL语句的关键字,最好别用它命名字段。要不然就像我在1楼回帖那样加上方括号。
6 楼
liulei001 [专家分:12820] 发布于 2007-03-19 09:52:00
再补充一句,
修改数据不需要返回记录集,没必要用rs.open
直接用conn.execute(sql),省下创建rs对象的步骤
我来回复