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

zhaodonglei 2010-01-06 11:36:06
我的三个帖子其实都是这一个问题,解决这个问题,兄弟把三个帖子的分一起谢谢解决者
在查询分析器中执行正常
出错代码: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型传入的,这问题也是太莫名其妙了,应该怎么改动
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pb8 2010-01-06
  • 打赏
  • 举报
回复
呵呵,谢谢~~
zhaodonglei 2010-01-06
  • 打赏
  • 举报
回复
jimwoo,pb8
去这两处
http://topic.csdn.net/u/20100104/17/74984501-fd01-419b-85a9-9309c7f61ba3.html
http://topic.csdn.net/u/20091026/17/00f296a9-a333-4293-8fa1-5d9e868defca.html
回句话,我把三个贴子的分都给你一半
zhaodonglei 2010-01-06
  • 打赏
  • 举报
回复
pb8去这两处
http://topic.csdn.net/u/20100104/17/74984501-fd01-419b-85a9-9309c7f61ba3.html
http://topic.csdn.net/u/20091026/17/00f296a9-a333-4293-8fa1-5d9e868defca.html
回句话,我把三个贴子的分都给你
pb8 2010-01-06
  • 打赏
  • 举报
回复
set @Sql = 'select studentNo, year from student_' + cast(@Year as varchar(4)) + ' where studentNo= ''' + @StudentNo + ''''
exec(@Sql)
jimwoo 2010-01-06
  • 打赏
  • 举报
回复
set @Sql = 'select studentNo, year  from student_' + cast(@Year as varchar(4)) +  '  where studentNo= ''' + @StudentNo + ''''
exec(@Sql)

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧