pb9.0新手关于更新数据的疑问
我在window中添加了许多singlelineedit(就是可以打字的文本框)和一个datewindow我想通过一个button,当按下时,把用户输入的文本整合成一条插...
我在window中添加了许多singlelineedit(就是可以打字的文本框)和一个date window
我想通过一个button,当按下时,把用户输入的文本整合成一条插入语句插入数据库中,
请问这要怎么做?(我已经连上数据库了,就是不知道如何获得文本框中的值和如何把这些值整合成一条语句)
还有,像文本框我可以用sle_1.text=""把它置成空,但是下拉框列表却无法置空(我试过ddlb_1.text=""不行,ddlb_1.item=""报错,说只有父类才能改变之类的提示)
有谁能解答我这两个疑问啊 展开
我想通过一个button,当按下时,把用户输入的文本整合成一条插入语句插入数据库中,
请问这要怎么做?(我已经连上数据库了,就是不知道如何获得文本框中的值和如何把这些值整合成一条语句)
还有,像文本框我可以用sle_1.text=""把它置成空,但是下拉框列表却无法置空(我试过ddlb_1.text=""不行,ddlb_1.item=""报错,说只有父类才能改变之类的提示)
有谁能解答我这两个疑问啊 展开
3个回答
展开全部
首先你需要建立一个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帮助里面有详细解释,其他的么,应该都会了把。
之后,你再建立一个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帮助里面有详细解释,其他的么,应该都会了把。
ZESTRON
2024-09-04 广告
2024-09-04 广告
表面污染分析包括评估表面上存在的颗粒、残留物或物质。通过利用显微镜、光谱学和色谱法等技术,分析人员可以识别和表征污染物,以确定其成分和来源。这种分析在电子、制药和制造等各个行业中至关重要,以确保产品质量、性能和安全性。了解表面污染有助于实施...
点击进入详情页
本回答由ZESTRON提供
展开全部
先打开PB的PBW文件,这个打开后,会找到所有的PB源码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一问题 你是要把数据窗口的数据 通过 点击 保存传到服务器上去吧? 如果是这个问题 你直接 获取 数据窗口上的字段值 getitemstring() 就可以获得值。
第二问题 下拉列表 为空也不是这么设置的啊,下拉列表为空是 在属性里面设置值,也不知道你是怎么设置的,但是绝对不是给他赋值、。
第二问题 下拉列表 为空也不是这么设置的啊,下拉列表为空是 在属性里面设置值,也不知道你是怎么设置的,但是绝对不是给他赋值、。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询