用参数来做插入!

wumylove1234 2004-07-22 06:59:49
objCommand.Connection = myConnection
objCommand.CommandText = "Insert into titles(title_id,title,type,price,pubdate) values(@title_id,@title,@type,@price,@pubdate);" & _
"Insert into titleauthor(au_id,title_id) values(@au_id,@title_id)"
objCommand.Parameters.Add("@title_id", strID)
objCommand.Parameters.Add("@title", txtBookTitle.Text)
objCommand.Parameters.Add("@price", txtPrice.Text)
objCommand.Parameters.Add("@au_id", BindingContext(myDV).Current("au_id"))
objCommand.Parameters.Add("@type", "Demo")
objCommand.Parameters.Add("@pubdate", Date.Now)
Dim i As Integer
Try
objCommand.ExecuteNonQuery()
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try

我看了几遍都没有问题,照书上打的,按理说也是这样.
可是为什么查询出错呢?
提示:被准备语句 '(@title_id nvarchar(4000),@title nvarchar(4000),@price nvarchar(' 需要参数 @title_id,但未提供该参数。
可是上边我不是已经加参数了吗?
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chrch 2004-07-23
  • 打赏
  • 举报
回复
objCommand.Parameters.Add("@price", txtPrice.Text).DbType = DbType.Currency

@price参数名
txtPrice.Text参数值
DbType.Currency参数类型
lxcc 2004-07-22
  • 打赏
  • 举报
回复
objCommand.Parameters.Add("@参数名称",SqlDbType.NVarChar,参数长度).Value=参数值;//SqlDbType.NVarChar:参数类型
wumylove1234 2004-07-22
  • 打赏
  • 举报
回复
up!!!!!!!!!!
wumylove1234 2004-07-22
  • 打赏
  • 举报
回复
好了.看错了.Strid没有值引起的.
反正也花了20分,大家帮我解释一下:
objCommand.Parameters.Add("@price", txtPrice.Text).DbType = DbType.Currency
这句为什么这样写?
[Visual Basic]
Overloads Public Function Add( _
ByVal parameterName As String, _
ByVal value As Object _
) As SqlParameter

这是这个集合的Add,难道这句相当于(语法不对,只是意义):
objCommand.Parameters.Add("@price", txtPrice.Text)返回的是对当前新增参数的引用吗?
然后又设置了这个属性的DBtype?

16,553

社区成员

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

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