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

高分150求教pb调用存储过程的有关问题

2012-03-07 
高分150求教pb调用存储过程的问题我的三个帖子其实都是这一个问题,解决这个问题,兄弟把三个帖子的分一起谢

高分150求教pb调用存储过程的问题
我的三个帖子其实都是这一个问题,解决这个问题,兄弟把三个帖子的分一起谢谢解决者
在查询分析器中执行正常
出错代码:select error:从数据类型转换成numric时出错

存储过程代码: 
------------------------------------- 
ALTER PROCEDURE [dbo].[GetStudents] 
@Year int, 
@StudentNo varchar(200) 
AS 

declare @Sql nvarchar(4000) 

set @Sql = 'select studentNo, year 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, '123456789012345') 
StudentNo在数据库中和数据窗口当中定义的都是字符的类型
PB调用中出现select error:从数据类型转换成numric时出错,然后程序还可以继续执行。
在查询分析器中执行正常。输入2010, '123456789012345'
错误的原因估计是因为把StudentNo当做数字进行处理了,但是我传入的都是以String型传入的,这问题也是太莫名其妙了,应该怎么改动


[解决办法]
set @Sql = 'select studentNo, year from student_' + cast(@Year as varchar(4)) + ' where studentNo= ''' + @StudentNo + ''''
exec(@Sql)

热点排行