SqlDbType.Decimal与SqlDbType.int的区别?

hao666hao 2007-01-15 09:37:23
我在sql2005表中建了一个id的列,数据类型是int,在如下代码中(最后一行)

Dim myadp As New SqlDataAdapter("select * from personnel", mycon)
myadp.UpdateCommand = New SqlCommand( _
"update personnel set name=@ name" & _
"where id=@ id and name=@ oldname", mycon)
myadp.UpdateCommand.Parameters.Add("@id", SqlDbType.Decimal, 9, "id")
我用SqlDbType.int代码就出错!
而用 SqlDbType.Decimal就正确!
这是为什么?谢谢
...全文
321 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiangsheng 2007-01-16
  • 打赏
  • 举报
回复
你应该好好看看 myadp.UpdateCommand.Parameters.Add() 这个方法的几个参数。
第三个参数9是指列长,就是这个字段值的长度字节数,decimal是数值型,长度最大可以是18字节,而int是整型,长度固定为4字节。

我觉得,如果使用int的话,后面的9应该换成4才对。

-------------------------
以上言论,想当然耳,未经验证,如有错误,实在正常,万一蒙对,不胜荣幸。
九斤半 2007-01-16
  • 打赏
  • 举报
回复
不用Parameter,调用
EXEC 存储过程名 @参数1,@参数2……
leq_82 2007-01-16
  • 打赏
  • 举报
回复
你不用Parameter而直接写SQL语句
九斤半 2007-01-15
  • 打赏
  • 举报
回复
这样写好长啊.

一般在MS SQL中写存储过程~~~

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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