VF+SQL的問題﹐請高手指教﹗
在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表中的記錄全被改了。這怎么辦?
问题点数:0、回复次数:7Top
1 楼itzhiren(itzhiren)回复于 2004-11-04 11:07:10 得分 0
加上where条件控制不就行了Top
2 楼LAIYANGPJ(小丑)回复于 2004-11-04 11:11:30 得分 0
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的记录.要想有限制加上条件语句.
Top
3 楼clouli_clouli(ok)回复于 2004-11-04 11:18:50 得分 0
2.=sqlprepare(nhandle,"update tablename set xx=yy")
这一句是加修改所有符合XX=YY的记录.要想有限制加上条件语句.
在這的條件是if rlock()
在你不知道它鎖定哪一條記錄的時候﹐怎樣加上條件語語句?Top
4 楼clouli_clouli(ok)回复于 2004-11-04 11:23:44 得分 0
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()=Top
5 楼LAIYANGPJ(小丑)回复于 2004-11-04 12:58:47 得分 0
=sqlprepare(nhandle,"delete from tablename where recno()=n")
不好意这个语句没测试真的用不了等楼下解决吧.
=sqlprepare(nhandle,"update tablename set xx=yy")
这个你即然不知道它的条件,别人也没办法.
不过远程数据的更新最好用事务更新.要嘛全部成功要嘛全部失败.
Top
6 楼cxmcxm(小陈)回复于 2004-11-06 21:58:46 得分 0
sql server不支持记录号,不能用where第几条记录,
如果表在sql server中需添加,修改,删除,而原vfp中无有效的字段可在sql server中作为主键,在sql server中应添加一字段作为主键,以此主键检索记录。
Top
7 楼koomis()回复于 2004-11-07 09:02:59 得分 0
首先在数据表中创建一个自增长的字段ID 数据类型为INT 步长1
然后就可以使用 delete from table where id=<n> 这样的语句来删除记录了.Top




