CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  基础类

窗口上有两个数据项,一个是“用户名”(下拉数据窗口),另一个是“业务类型”(ListBox),请问怎么将这两个数据项存入到表user中?程序怎么实现?请指教,谢谢!!

楼主lee_lee()2001-09-04 12:47:28 在 PowerBuilder / 基础类 提问

问题点数:20、回复次数:7Top

1 楼pbsql(风云)回复于 2001-09-04 13:00:03 得分 0

insert   ...;  
  commit;Top

2 楼lee_lee()回复于 2001-09-04 13:05:48 得分 0

这个我知道,只是具体怎么实现有点不清楚,能具体一点吗?谢谢!Top

3 楼vetica(丢了)回复于 2001-09-04 14:07:43 得分 15

啊~这个表user的数据录入你怎么不用数据窗口呢?  
  比如包含两个列~其中"用户名"和"业务类型"这两个列都可以使用dddw风格  
  用户选择之后可以直接对数据窗口update就行了.  
   
  如果按你的做法的话,假设下拉数据窗口名为:dw_username,listbox名为:ddlb_type  
  那么可以用以下语句把数据插入表user中:  
  string   ls_username,ls_type  
  ls_username=dw_username.getitemstring(dw_username.getrow(),'username')   //假设下拉数据窗口中用户名一列的列名为username  
  ls_type=ddlb_type.text  
  insert   into   user(username,type)  
    values(:ls_username,:ls_type);  
  if   sqlca.sqlcode<0   then  
      messagebox('错误',sqlca.sqlerrtext)  
      rollback;  
  else  
      commit;  
  end   ifTop

4 楼lee_lee()回复于 2001-09-04 15:24:47 得分 0

to   vetica(丢了):首先谢谢你!但还有几个问题:  
  “业务类型”不是ddlb,是lb,“用户名”与“业务类型”是一对多的关系,这样写insert会不会有什么不同?  
  哦,还有,我的user表中的数据项是“业务类型标识”,而lb中是“业务类型”,有一个yewu表是关联这两者的,所以还涉及到一个转换,请问怎么实现??  
  我也想用数据窗口啊,但是我的user表中只有“用户标识”和“业务类型标识”这两个数据项,而且“业务类型标识”还需要从另一个数据窗口“所有业务”里面拖出来,而且拖出来后不能显示  
  “业务类型”,只能显示“业务类型标识”,所以效果不好,才考虑用listbox,你有什么好办法吗?Top

5 楼vetica(丢了)回复于 2001-09-04 16:26:41 得分 0

1.我想知道你这里一对多的关系具体是指什么?是指会出现如下的几条记录么?  
      用户名               业务类型标识  
  aaa                         1  
  aaa                         2  
  bbb                         1  
  如果只是这样的话insert是没有问题的,但是不要用用户名字段做关键字,比如可以使用用户名+业务类型标识来做主键.  
  如果业务类型是lb的话:   ls_type=lb_type.selecteditem()  
   
  2.如果使用数据窗口,那么你可以先做一个label类型的数据窗口dw_type,包括表yewu中的两个字段type,typeid(type为业务类型,typeid为业务类型标识),不过在数据窗口中只显示"业务类型"就可以了~  
  然后把主dw窗口(即与user表相关的数据窗口)中的"业务类型标识"列定为dddw风格,其中datawindow选择dw_type,display   column选择type列,data   column选择typeid列.这样,当用户录入数据的时候,点击下拉箭头显示出来的是所有业务类型,而实际存入数据库的是业务类型标识.  
   
  :)Top

6 楼tigerwood12345(tigerwood12345)回复于 2001-09-04 17:17:37 得分 5

for   i   =1   to   dw.rowcount  
          col1=dw.getitem-yourtype(i,1)  
          col2=dw.getitemyourtype(i,2)  
          ...........................  
          insert   user   values(col1,col2....)  
          if   sqlcode<>0   then  
                rollback  
          else  
                commit  
          end   if    
  nextTop

7 楼hemhem(半斤)回复于 2001-09-04 19:45:47 得分 0

你用user表建一个datawindow在把user表的username和businesstype定义为dddw和ddlb不就行了吗,dddw和ddlb的数据从你其他的表中去取Top

相关问题

  • 怎样知道LISTBOX控件中的数据项的个数?
  • 请问那个列表控件可以在数据项中显示图片?
  • 跨工程填充报表数据,项目卡死,高手帮忙!
  • 如何使用sql将数据表中的一个数据项导入另外一个表中?
  • 将ADOQUERY查询出的数据项导入一个临时表时遇到的问题
  • 在多个表连接后,从中选出的数据项,如何对其中某项进行更新?
  • 怎样将表格中的某一列提取出来并且数据项不重复?
  • 数据项定位问题?.................
  • 如何建立一个权限表?主要是用来实现不同的用户登陆,能对应操作不同的数据项?急!!!
  • [DataGrid中的checkbox问题系列] 如何把选中的checkbox对应的ROW部分数据项插入到另外一个表?

关键词

  • 数据
  • 用户
  • ddlb
  • 表
  • dddw
  • username
  • ls
  • dw
  • 下拉
  • user

得分解答快速导航

  • 帖主:lee_lee
  • vetica
  • tigerwood12345

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo