使用数据窗口更新么?有没有及时的COMMIT?
在更新A表后再查询A表,原有的更新事务是否有COMMIT活着ROLLBACK?
如果没有,那么马上查询,肯定是不行。
首先你需要建立一个ddlb控件,这个空间里面写:insert,update,delete之后,你再建立一个ddlb控件,在FORM界面的open事件里面填写以下代码
string c1,i_temp
DECLARE c1 cursor FOR SELECT name FROM sysindexes where name like 'PK_%' and rows <>0
open c1
do while sqlca.sqlcode = 0
fetch c1 into :i_temp
ddlb_1.insertitem( mid(i_temp,4,len(i_temp)-3),0)
loop
close c1
这个程序是将你连接的数据库中的所有有数据的表的名字取出来后,添加在ddlb控件的下拉菜单中。
做完后,再在FORM上添加一个ddlb的控件,在之前弄表名的ddlb控件的itemchanged的事件中添加如下代码
string c1,i_temp,ls_sql
long i_id
ls_sql = 'PK_' + ddlb_1.text
DECLARE c1 cursor FOR SELECT Name FROM SysColumns WHERE id in
(SELECT id
FROM sysindexes where name = :ls_sql)
open c1
do while sqlca.sqlcode = 0
fetch c1 into :i_temp
ddlb_2.insertitem( i_temp,0)
loop
close c1
OK,这样你就已经取到了组成语句的几个关键部位,之后的代码怎么写,你就自己完成吧,我写的累死了,就不累述了。
2~~~~~~~~~~~~~~~~~~~~~~~
这个问题很简单,你写成ddlb_1.selectitem(0)就行了。 怕你看不懂,稍微解释下这个东西,ddlb控件应该是可以改TEXT属性的,但是你可能没有勾上allow edit的属性,所以在修改的时候报错。当然,这样的情况不是说不能修改,selectitem(0)是指选择ddlb中的空选项,当把0变成1的时候就是选择ddlb中的第一个下拉选项,PB中的F1帮助里面有详细解释,其他的么,应该都会了把。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)