VF+SQL的問題﹐請高手指教﹗

clouli_clouli 2004-11-04 10:55:22
在vf中
select tablename(表名)
go 2(指針指示第二條記錄)
delete
現在我將原在vf里的表tablename复制到sql數据庫中。然后在VF中連接SQL數据庫
這樣﹐上面的程序應該怎樣改?
比如﹕
nhandle=sqlstringconnect("driver=sql server;server=W2KDEVDG;uid=sa;pwd=726830;database=mrp")
=sqlprepare(nhandle,"delete from tablename where....")
=sqlexec(nhandle)
原來要刪除的是第二條﹐或是第n條。但這條SQL語句的條件怎樣寫?

還有﹐在VF中
select tablename
if rlock()
replace xx with yy
.....
這個rlock()是鎖定當前記錄。但不知道當前記錄是什么,用
=sqlprepare(nhandle,"update tablename set xx=yy")
=sqlexec(nhandle)
這樣tablename表中的記錄全被改了。這怎么辦?
...全文
162 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
koomis 2004-11-07
  • 打赏
  • 举报
回复
首先在数据表中创建一个自增长的字段ID 数据类型为INT 步长1
然后就可以使用 delete from table where id=<n> 这样的语句来删除记录了.
cxmcxm 2004-11-06
  • 打赏
  • 举报
回复
sql server不支持记录号,不能用where第几条记录,
如果表在sql server中需添加,修改,删除,而原vfp中无有效的字段可在sql server中作为主键,在sql server中应添加一字段作为主键,以此主键检索记录。
LAIYANGPJ 2004-11-04
  • 打赏
  • 举报
回复
=sqlprepare(nhandle,"delete from tablename where recno()=n")
不好意这个语句没测试真的用不了等楼下解决吧.
=sqlprepare(nhandle,"update tablename set xx=yy")
这个你即然不知道它的条件,别人也没办法.
不过远程数据的更新最好用事务更新.要嘛全部成功要嘛全部失败.
clouli_clouli 2004-11-04
  • 打赏
  • 举报
回复
1.=sqlprepare(nhandle,"delete from tablename where....")
************
=sqlprepare(nhandle,"delete from tablename where recno()=n")

recno()=n是VF中的。而 sqlprepare(nhandle,"delete from tablename where recno()=n")
語句中的delete from tablename where recno()=n是SQL語句﹐不能用recno()=
clouli_clouli 2004-11-04
  • 打赏
  • 举报
回复
2.=sqlprepare(nhandle,"update tablename set xx=yy")
这一句是加修改所有符合XX=YY的记录.要想有限制加上条件语句.

在這的條件是if rlock()
在你不知道它鎖定哪一條記錄的時候﹐怎樣加上條件語語句?
LAIYANGPJ 2004-11-04
  • 打赏
  • 举报
回复
1.=sqlprepare(nhandle,"delete from tablename where....")
************
=sqlprepare(nhandle,"delete from tablename where recno()=n")
2.=sqlprepare(nhandle,"update tablename set xx=yy")
这一句是加修改所有符合XX=YY的记录.要想有限制加上条件语句.
itzhiren 2004-11-04
  • 打赏
  • 举报
回复
加上where条件控制不就行了
发帖
VFP

2572

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
帖子事件
创建了帖子
2004-11-04 10:55
社区公告
暂无公告