我在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."
展开
 我来答
hit_lubin
2011-05-23 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2009万
展开全部
你看看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这句话?如果没写,那么你写了配置也是白写,根本就没有连接。
iamwangzhe2015
2011-05-24 · TA获得超过684个赞
知道小有建树答主
回答量:320
采纳率:100%
帮助的人:280万
展开全部
看看有没有数据源密码!
还有我也遇到这个问题了 其实就是一个或多个空格的问题 譬如我的代码:// 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 ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灵芝有味温馨3403
2011-05-11 · TA获得超过212个赞
知道答主
回答量:402
采纳率:0%
帮助的人:245万
展开全部
// 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之前的内容对不对,然后测试一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13708248
2011-05-12 · TA获得超过121个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:190万
展开全部
(没看到上面的。上面说的详细,就是这个意思)首先,你的profile代码后面有没有加上CONNECT USING SQLCA ;
然后,数据窗口所在的窗口的open事件中要加上dw_1.settransobject(sqlca)
dw_1.retrieve()

肯定可以显示数据的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友edebfb3
2011-05-20
知道答主
回答量:42
采纳率:0%
帮助的人:33.1万
展开全部
如果是下拉数据窗口没有数据的话,记得edit属性页里面的autoretrieve属性打勾
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ybkenan
2011-05-25
知道答主
回答量:22
采纳率:0%
帮助的人:13.3万
展开全部
可能楼主是忘记在application的Open事件中少写了 connect;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式