上一页 1 2 3 4 下一页 下面请见具体实例, 该实例在Win98、PowerBuilder8.0/PowerBuilder7.0/PowerBuilder6.5下通过,ODBC数据源已配置,为FoxPro25(可根据需要使用其他数据库),数据表为bb.dbf。请先建窗口w_main,在其Open事件中写入以下代码:(注意:PowerBuilder8.0中先须创建WorkSpace(*.pbw),其他操作基本同PowerBuilder7.0)
//动态数据窗口dw_1创建实例 string lserr,lsSQLstr,lsDWsyntax,lserrC SQLCA.DBMS="ODBC" SQLCA.DBParm="ConnectString='DSN=FoxPro25'" //本例使用FoxPro25数据库,可根据需要用其他数据库 Connect; //下面3条语句即为关键,若dw_1为鼠标点建请删除这3条语句,否则会出错。 DataWindow dw_1 //若采用数据窗口用户对象u_d_sample,则可改为:u_d_sample dw_1 dw_1=Create DataWindow //若采用数据窗口用户对象u_d_sample,此句应去除。 OpenUserObject(dw_1) //Select…As…的As可将列标题显示为As之后的字符,较为灵活方便。 //可根据实际情况设计生成Select语句及Where子句的可视化界面 lsSQLstr="Select A12 As 主管部门,A01 As 法人代码,mc As 企业名称,A06 From bb Where A12<'1'" lsDwsyntax=SQLCA.SyntaxFromSQL(lsSQLstr,"style(type=Grid)",lserr) //构造SyntaxFromSQL()函数 If Len(lserr)>0 Then //如果构造SyntaxFromSQL()函数失败,则显示错误信息并退出 messagebox("错误信息!",lserr) Return end if dw_1.Create(lsDwsyntax,lserrC) //创建动态数据窗口dw_1 If Len(lserrC)>0 Then //如果创建动态数据窗口dw_1失败,则显示错误信息并退出 messagebox("错误信息!",lserrC) Return end if //以下设置dw_1的一些属性,可根据实际需要设置。 dw_1.X=5 dw_1.Y=5 dw_1.width=1500 dw_1.height=650 dw_1.Visible=True dw_1.Enabled=True dw_1.HScrollBar=True dw_1.VScrollBar=True //为dw_1分配事务对象SQLCA dw_1.SetTransObject(SQLCA) //提取数据 dw_1.Retrieve() | 第2种方法的优点大家一看即知,不必费劲去创建一个标准可视数据窗口用户对象,但存在不足之处:不能在窗口w_main的其他事件或控件中引用dw_1。解决方法很简单:将dw_1定义为实例变量(Instance Variable)。PowerBuilder6.0/6.5中:在窗口画笔(w_main)的菜单上点击Declareà Instance Variables…,在弹出窗口Declare Instance Variables中输入datawindow dw_1, 点击Ok按钮即告完成。PowerBuilder7.0/8.0中:打开窗口画笔,在其下半部的窗口Declare Instance Variables中输入datawindow dw_1, 点击工具栏上的Save图标即告完成。
上一页 1 2 3 4 下一页 |