首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

pb调用存储过程传递参数的有关问题

2012-03-09 
pb调用存储过程传递参数的问题存储过程代码:-------------------------------------ALTER PROCEDURE [dbo]

pb调用存储过程传递参数的问题
存储过程代码:
-------------------------------------
ALTER PROCEDURE [dbo].[GetStudents]
@Year int,
@StudentNo varchar(200)
AS

declare @Sql nvarchar(4000)

set @Sql = 'select * from student_' + cast(@Year as varchar(4)) + ' where studentNo= ' + @StudentNo
exec(@Sql)
--------------------------------------

数据窗口的代码
 procedure="1 execute dbo.GetStudents;1 @Year = :Year, @StudentNo= :StudentNo" arguments=(("Year", number),("StudentNo", string)) )

-------------------------------
调用代码:
dw_1.SetTrans(sqlca)
dw_1.retrieve(2010, '1234567')

pb出错现象:select error: select * from student_2009 where studentNo='1234567'
在sqlserver2005的查询分析器中,执行代码:year=2009, studentNo='1234567'可以正确执行。这个问题真的很头痛。

[解决办法]
把settrans改成settransobject试试
[解决办法]
studentno是字符型吧

SQL code
set @Sql = 'select * from student_' + cast(@Year as varchar(4)) +  '  where studentNo= ''' + @StudentNo + '''' 

热点排行