需要参数,但未提供该参数的错误

hulake888 2010-08-23 10:51:29
运行时报错:
被准备语句 '(@title......' 需要参数 @title,但未提供该参数以下是数据层代码:

Dim sql As String = "insert into article(title,content) values (@title,@content)"
Dim conn As SqlConnection = New SqlConnection(constr)

Dim cmd As SqlCommand = New SqlCommand(sql, conn)
Dim sqlparam As SqlParameter

sqlparam = New SqlParameter("@title", SqlDbType.VarChar, 50)
sqlparam.Value = modelarticleinfo.article_title
cmd.Parameters.Add(sqlparam)

请指教,难道modelarticleinfo.article_title取不到数据?
...全文
352 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hulake888 2010-08-24
  • 打赏
  • 举报
回复
在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
兔子-顾问 2010-08-24
  • 打赏
  • 举报
回复
你调试过么?
hulake888 2010-08-24
  • 打赏
  • 举报
回复
请高手指点
xiagirl 2010-08-24
  • 打赏
  • 举报
回复
呵呵。。。。。。。。。。。
hulake888 2010-08-24
  • 打赏
  • 举报
回复
谢谢了,出现这么低级的错误,呵呵
xiagirl 2010-08-24
  • 打赏
  • 举报
回复
要改为 _article_title = value
xiagirl 2010-08-24
  • 打赏
  • 举报
回复
''' <summary>
''' 文章标题
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public Property article_title() As String
Get
Return _article_title
End Get
Set(ByVal value As String)
_article_content = value
End Set
End Property

这里错了啦。
hulake888 2010-08-24
  • 打赏
  • 举报
回复
三层架构全部代码:

db层:

Imports System.Data.SqlClient

Public Class db_articleinfo

'Private constr As String = "server=localhost;database=article;uid=sa;pwd="
''' <summary>
''' 插入信息
''' </summary>
''' <param name="modelarticleinfo">一个文章对象</param>
''' <returns>是否添加成功</returns>
''' <remarks>2010-8-23 18:43 by haha</remarks>
Public Function Insert(ByVal modelarticleinfo As model.m_articleinfo) As Boolean
Dim sql As String = "insert into article(title,content) values (@title,@content)"
Dim conn As SqlConnection = New SqlConnection(constr)

Dim cmd As SqlCommand = New SqlCommand(sql, conn)
Dim sqlparam As SqlParameter

sqlparam = New SqlParameter("@title", SqlDbType.VarChar, 50)
sqlparam.Value = modelarticleinfo.article_title
cmd.Parameters.Add(sqlparam)

sqlparam = New SqlParameter("@content", SqlDbType.VarChar, 50)
sqlparam.Value = modelarticleinfo.article_content
cmd.Parameters.Add(sqlparam)

Try
conn.Open()
Return cmd.ExecuteNonQuery() > 0
Catch ex As Exception
MsgBox(Err.Description)
Return False
Finally
If Not IsNothing(conn) Then
conn.Close()
conn = Nothing
End If
End Try

End Function

End Class

bll代码:

Public Class b_articleinfo
Private accessarticleinfo As New accessdb.db_articleinfo
''' <summary>
''' 插入信息
''' </summary>
''' <param name="modelarticleinfo">一个文章对象</param>
''' <returns>是否添加成功</returns>
''' <remarks>2010-8-23 18:43 by haha</remarks>
Public Function insert(ByVal modelarticleinfo As model.m_articleinfo) As Boolean
Return accessarticleinfo.insert(modelarticleinfo)
End Function
End Class



model层:

Public Class m_articleinfo
Private _article_id As Integer
Private _article_title As String
Private _article_content As String

''' <summary>
''' 文章序号
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public Property article_id() As String
Get
Return _article_id
End Get
Set(ByVal value As String)
_article_id = value
End Set
End Property


''' <summary>
''' 文章标题
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public Property article_title() As String
Get
Return _article_title
End Get
Set(ByVal value As String)
_article_content = value
End Set
End Property
''' <summary>
''' 文章内容
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public Property article_content() As String
Get
Return _article_content
End Get
Set(ByVal value As String)
_article_content = value
End Set
End Property

End Class

web层:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim modelarticleinfo As New model.m_articleinfo
Dim bllarticleinfo As New bll.b_articleinfo
modelarticleinfo.article_title = Me.TextBox1.Text
modelarticleinfo.article_content = Me.TextBox2.Text

If bllarticleinfo.insert(modelarticleinfo) Then
Label1.Text = "添加成功"
Else
Label1.Text = "添加失败"
End If

End Sub
End Class
wuyq11 2010-08-24
  • 打赏
  • 举报
回复
单步跟踪
完全代码,数据库操作类
hulake888 2010-08-23
  • 打赏
  • 举报
回复
我怀疑取不到值
把sqlparam.Value = modelarticleinfo.article_title
改成
sqlparam.Value =1
试了一下可以添加数据,但是模板层都没有任何错误,奇怪
hulake888 2010-08-23
  • 打赏
  • 举报
回复
没有贴
兔子-顾问 2010-08-23
  • 打赏
  • 举报
回复
@content
没看到,你没贴还是没写?

你单步跟踪调试一下看看。

16,554

社区成员

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

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