pb如何向数据库表中添加内容

pb如何向数据库表中添加内容,第1张

无论怎么添加,首先你必须要配置PB的数据库连接,在DataBase Painter里面。配置数据库连接。

配置成功之后,可以直接在DataBase Painter里面,打开你配置的数据库,选择你要添加数据的表,然后点右键,edit data,打开所有的数据,然后上方菜单里分别有两个按钮,insert和save,insert表示增加一个空行,你可以在里面编辑数据,save表示把数据保存到表中。这样可以实现,不过都是单条的自己手动写进去的。

这里还可以导入数据,不过要格式匹配,包括字段的数量,顺序,类型导入模板,和你查询的结构必须匹配才可以。这个所谓的查询,可以使用edit data,打开的框架,还可以自己写一个查询语句,在isql session页写查询语句点execute按钮执行查询,不过这个执行的查询,要单表,否则不知道保存哪个表了。

还可以自己写程序插入。利用数据窗口,或者利用insert 语句插入数据。

例子1:动态创建有SQL的DW

说明:这个比较常用的方法,首先利用SQL得到DW的语法,然后用语法来创建DW

这过程跟创建可视化的DW,然后保存在PBL,

在将这个保存的名字赋值给DW作为dataobject是同样的道理

string ls_sql = ""

string ls_syntax = ""

string ls_err = ""

// 初始化, SQL以oracle为例

// ls_sql = "select FIELDS from TABLE"

ls_sql = "select ‘’ as sID, '' as sName from dual"

// 创建syntax, 用ls_sql创建一个grid类型的DW

sqlca.syntaxFromSQL(ls_sql, "style(type=grid)", ls_err)

if len(ls_err) >0 then

messageBox('Error', ‘Create DW syntax failed! ~r~n’ + ls_err)

return -1

end if

// 创建DW

ls_err = ‘’

dw_1.create(ls_syntax, ls_err)

if len(ls_err) >0 then

messageBox('Error', ‘Create DW failed! ~r~n’ + ls_err)

return -1

end if

// 创建成功

messageBox('Success', 'Create dynamic DW with SQL successful!')

例子2:动态创建外部数据源的DW(没有SQL)

说明:外部数据源的DW没有SQL,但跟有SQL的DW相同的部分就是DW语法的table部分。

而创建DW的时候,利用syntax来创建就好了,SQL创建syntax就可以省略。

对于例如区域、显示、HTML、update等等属性, PB都有默认的设置。

所以无需用过份详细的syntax来创建DW,那部分将由PB帮助完成,只需要有table部分就可以了。

string ls_syntax = ""

string ls_err = ""

// 由SQL创建syntax部分省略

// 初始化syntax, release 9表示PB9.0的例子

ls_syntax = "release 9~r~n" +&

"table(" +&

" column=(type=number name=handle dbname=~"handle~" )~r~n" +&

" column=(type=char(255) name=sdata dbname=~"sdata~" )~r~n" +&

" column=(type=char(255) name=slabel dbname=~"slabel~" )~r~n" +&

")"

// 创建DW

ls_err = ‘’

dw_1.create(ls_syntax, ls_err)

if len(ls_err) >0 then

messageBox('Error', ‘Create DW failed! ~r~n’ + ls_err)

return -1

end if

// 创建成功

messageBox('Success', 'Create dynamic DW without SQL successful!')

©All copyright resersed

Ben.Sin (Ben.BHX#gmail.com)

简单来说就是用户名、密码两个文本框和确定按钮,里面获取输入信息,检查数据库有没有重复的,利用sql语句进行保存

不过里面涉及防注入、密码强度控制、代码健壮性等等细节

建议你去华软论坛等pb讨论网站下载现成的程序学习,或者买书,书上对这个基本东西都有很好的代码示例

我做的其中一个例子如下:

ls_dm = dw_dm.getitemstring(ll_row,'dm')

ls_mc = dw_dm.getitemstring(ll_row,'mc')

ls_kl = dw_dm.getitemstring(ll_row,'kl')

ldt_t = datetime(today())

if isnull(ls_dm) then ls_dm = ''

if isnull(ls_mc) then ls_mc = ''

if isnull(ls_kl) then ls_kl = ''

if is_state = 'add' then

delete cm_yhzd where yhdm = :ls_dm

insert cm_yhzd(yhdm,yhmc,yhkldlsj) values(:ls_dm,:ls_mc,:ls_kl:ldt_t)

if sqlca.sqlnrows <= 0 then

messagebox("系统信息",'更新数据时出错!~r~n' + sqlca.sqlerrtext)

rollback

return

end if

commit//提交数据库


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11578315.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存