有关PB编程

来源:百度知道 编辑:UC知道 时间:2024/05/16 02:07:41
string lserr,lsSQLstr,lsDWsyntax,lserrC
DataWindow dw_1
dw_1=Create Datawindow
OpenUserObject(dw_1)
lsSQLstr="Select * From student"
lsDwsyntax=SQLCA.SyntaxFromSQL(lsSQLstr,"style(type=GRID)",lserr)
if len(lserr)>0 then
messagebox("错误信息",lserr)
return
end if
dw_1.Create(lsDWsyntax,lserrC)
if len(lserrC)>0 then
messagebox("错误信息",lserrC)
return
end if
dw_1.x=5
dw_1.y=5
dw_1.width=this.width
dw_1.height=this.height
dw_1.visible=true
dw_1.enabled=true
dw_1.HScrollBar=true
dw_1.VScrollBar=true
dw_1.SetTransObject(SQLCA)
dw_1.Retrieve()
这是写在PB w_main Open事件里的脚本代码,但是运行后却显示对象名student无效,望解决,谢谢!

正因为你删除了,才会出这个错误的啊。如果你不容易彻底找出原因,那么找出以前的程序和文档,原样回复student这个表吧,不要管这个表有什么存在的意义,先原样恢复,不要删除。

你看不到哪里使用了,并不代表着它真的没有被使用。触发器等很多地方都有可能,你可能不能像一个电脑一样考虑那么全面。所以勤勤恳恳地写程序的人不一定可以写出产品,软件产品是既要懂写程序又要懂测试质量的人才能产生出来的。当你发觉你总是很随意删除改变了自认为没有影响的原来的程序的结构却造成了自己很不情愿看到的新的bug,就要谨慎了。

出现这个问题的原因在于sa用户为系统用户,它虽然能够登陆数据库,但是login数据库里边却没有这个用户的访问权限,所以,我们现在为这个数据库重新建立一个用户,建立过程如下:在login数据库中选重用户 ---〉新建用户 -- 〉名称选择(这一步中有两个关键点 1、身份验证选SQL身份验证,默认数据库选login)-〉建立新角色 ,此时更改程序,将用户登陆名和密码修改一下。
或者把表的名字前面加上数据库名.用户名.表名,如我把rs=sm.executeQuery("select * from student")改成为rs=sm.executeQuery("select * from login.dbo.student")。login是我的数据库,student是login下面的一个表