我在PB里建了个数据库,显示连接已经成功了;但是我把它属性里面的连接代码放到程序里却找不到数据啊. 10
我的系统是winxp+pb9.0+sql200.我在sql2000里创建好一个数据库。在pb中建立了应用空间,应用程序,在DB画板中建立了新的profile,且连接测试成...
我的系统是winxp+pb9.0+sql200.
我在sql2000里创建好一个数据库。在pb中建立了应用空间,应用程序,在DB画板中建立了新的profile,且连接测试成功。又建立数据窗口,且预显正常。在应用程序窗口对象中,建立了数据窗口,数据源设为已建立的数据窗口。在open()中,粘帖上profile…………一切都没有问题呀,可运行就是无法显示数据窗口!!!???高手帮我呀!
使用了connect ; dw_1.settransobject(sqlca) 和dw_1.retrieve()但是无法显示数据。提示“Database transaction information not available .Call SetTrans or SetTransobject function." 展开
我在sql2000里创建好一个数据库。在pb中建立了应用空间,应用程序,在DB画板中建立了新的profile,且连接测试成功。又建立数据窗口,且预显正常。在应用程序窗口对象中,建立了数据窗口,数据源设为已建立的数据窗口。在open()中,粘帖上profile…………一切都没有问题呀,可运行就是无法显示数据窗口!!!???高手帮我呀!
使用了connect ; dw_1.settransobject(sqlca) 和dw_1.retrieve()但是无法显示数据。提示“Database transaction information not available .Call SetTrans or SetTransobject function." 展开
7个回答
展开全部
你看看SQLCA的SQLCODE值是多少?
这个应该是连接正常,估计是你数据窗口取值写的不对。
你在OPEN()中粘贴profile,是哪个open()?
窗口的Open还是application的open()?
另外,无论在哪里都可以,你写connect using sqlca这句话了么?
如果写这句话看看sqlca.sqlcode的值是不是0,如果是,连接正常。
然后再看看你有没有写dw_1.settransobject(sqlca) dw_1.retrieve(),这两句话才是让数据窗口显示的语法。你肯定错在其中某一个了
在open()中,粘帖上profile,那么你粘贴之后,有没有在后边写CONNECT USING SQLCA这句话?如果没写,那么你写了配置也是白写,根本就没有连接。
这个应该是连接正常,估计是你数据窗口取值写的不对。
你在OPEN()中粘贴profile,是哪个open()?
窗口的Open还是application的open()?
另外,无论在哪里都可以,你写connect using sqlca这句话了么?
如果写这句话看看sqlca.sqlcode的值是不是0,如果是,连接正常。
然后再看看你有没有写dw_1.settransobject(sqlca) dw_1.retrieve(),这两句话才是让数据窗口显示的语法。你肯定错在其中某一个了
在open()中,粘帖上profile,那么你粘贴之后,有没有在后边写CONNECT USING SQLCA这句话?如果没写,那么你写了配置也是白写,根本就没有连接。
展开全部
看看有没有数据源密码!
还有我也遇到这个问题了 其实就是一个或多个空格的问题 譬如我的代码:// Profile hthzsb1.0
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=" +dsn_name + ";UID=dba;PWD=sql'"
在dsn= uid = pwd = 等号的后面都不能有空格
在数据窗口中的constructor事件中 编写如下代码 :settransobject(sqlca) 再试试 还有就是 在application的Open事件中看有没有 connect; 这句话 还有在application的open()事件中 写上 if sqlca.sqlcode <> 0 then messagebox("系统提示","数据库连接失败!失败原因:"+sqlca.sqlerrtext+"") halt ;
还有我也遇到这个问题了 其实就是一个或多个空格的问题 譬如我的代码:// Profile hthzsb1.0
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=" +dsn_name + ";UID=dba;PWD=sql'"
在dsn= uid = pwd = 等号的后面都不能有空格
在数据窗口中的constructor事件中 编写如下代码 :settransobject(sqlca) 再试试 还有就是 在application的Open事件中看有没有 connect; 这句话 还有在application的open()事件中 写上 if sqlca.sqlcode <> 0 then messagebox("系统提示","数据库连接失败!失败原因:"+sqlca.sqlerrtext+"") halt ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// Profile newhospital
SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = <***>
SQLCA.ServerName = " "
SQLCA.LogId = " "
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner= "
connect;
IF SQLCODE<>0 THEN
MessageBox("数据库错误",SQLErrText, Exclamation!);
ELSE
MessageBox("数据库连接成功!");
END IF
看看connect之前的内容对不对,然后测试一下.
SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = <***>
SQLCA.ServerName = " "
SQLCA.LogId = " "
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner= "
connect;
IF SQLCODE<>0 THEN
MessageBox("数据库错误",SQLErrText, Exclamation!);
ELSE
MessageBox("数据库连接成功!");
END IF
看看connect之前的内容对不对,然后测试一下.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(没看到上面的。上面说的详细,就是这个意思)首先,你的profile代码后面有没有加上CONNECT USING SQLCA ;
然后,数据窗口所在的窗口的open事件中要加上dw_1.settransobject(sqlca)
dw_1.retrieve()
肯定可以显示数据的。
然后,数据窗口所在的窗口的open事件中要加上dw_1.settransobject(sqlca)
dw_1.retrieve()
肯定可以显示数据的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是下拉数据窗口没有数据的话,记得edit属性页里面的autoretrieve属性打勾
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能楼主是忘记在application的Open事件中少写了 connect;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询