PowerBuilder 数据窗口没有 return 结果

PowerBuilder datawindow do not return result

我对用 PowerBuilder 编写的程序有疑问。有代码:

DataStore ds_logged_get
ds_logged_get= CREATE DataStore
ds_logged_get.dataobject = 'dw_logged_get'
ds_logged_get.settransobject(sqlca)
ds_logged_get.Retrieve( pn_login, pn_domain, ls_ip_addr )
If ds_logged_get.RowCount() > 0 Then

datawindow下配置执行程序st_loggedGet

 procedure="1 execute dbo.st_loggedGet;1 @login = :login, @Domain = :Domain , @IP = :IP" arguments=(("login", string),("Domain ", string),("IP", string)) )

不幸的是,行 ds_logged_get.RowCount() 返回 0 条记录。当我运行一个程序与它returns参数相同的时候感谢记录。更重要的是,当我 运行 数据窗口进行测试时,它也会 returns 记录。只有当我启动程序时才没有记录。我什至通过 SQL Profiler 进行了检查,我意识到该过程根本没有执行。方法Retrieve 何时执行存储过程?

我刚开始学习PowerBuilder。谁能帮帮我? 提前致谢。 彼得

settransobject 方法returns 一个整数。如果它是 -1,则您的事务对象(称为 SQLCA 的全局事务对象)有问题。您的连接参数可能不正确。您可以在连接 SQLCA 时检查 SQLCode,以帮助确定问题所在。

问题出在数据库的客户端上。 在应用程序 PB 的数据库配置文件中,我使用 Microsoft SQL Server Native Client 10.0,但是在我的计算机上,我 运行 我使用 Microsoft SQL Server Native Client 11.0 的应用程序(在 ODBC 数据源中定义行政人员)。 更改同一客户端后:Microsoft SQL Server Native Client 10.0 完美启动。