请高人指教,pb中不用datawindow控件能否直接访问数据库中的表实施查询啊?
我的想法如下:
建立一个ASA数据库cursor
在这个数据库中建表student,在表中设置列属性为(id,nm,bir)它们的类型分别为(integer,varchar,data)
然后定义主键为id,用insert student(id,nm,bir) values(11111,'小李','1990-11-10')
插入初始记录成功.
最后在PB中创建数据源cour,然后再配置DB Profile为cour_pro.
在应用程序目标的open事件中定义open(w_1)
在w_1窗口的open事件中定义连接数据库的脚本为:
// Profile cour_pro
SQLCA.DBMS = "TRACE ODBC"
SQLCA.AutoCommit = True
SQLCA.DBParm = "ConnectString='DSN=cour;UID=dba;PWD=sql',MsgTerse='Yes'"
在命令按钮控件的clicked事件中输入
string Stringvar, Sqlstatement
integer Intvar
Sqlstatement = "SELECT id FROM student"
PREPARE SQLSA FROM :Sqlstatement ;
DESCRIBE SQLSA INTO SQLDA ;
DECLARE my_cursor DYNAMIC CURSOR FOR SQLSA ;
OPEN DYNAMIC my_cursor USING DESCRIPTOR SQLDA ;
FETCH my_cursor USING DESCRIPTOR SQLDA ;
CHOOSE CASE SQLDA.OutParmType[1]
CASE TypeString!
Stringvar = GetDynamicString(SQLDA, 1)
CASE TypeInteger!
Intvar = GetDynamicNumber(SQLDA, 1)
END CHOOSE
CLOSE my_cursor ;
结果就在OPEN DYNAMIC my_cursor USING DESCRIPTOR SQLDA 这里出错了
是不是不能用这种方式访问数据表啊?