晨光电缆2017年三季度:关于.NET 查询值的数目与目标字段中的数目不同的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 15:49:14
这是我用.net写得一个留言本其中一段代码,但是我运行时,发现在我提交新留言时,电脑报错说System.Data.OleDb.OleDbException: 查询值的数目与目标字段中的数目不同。
指明是这一句“cmd.ExecuteNonQuery()”有问题。
是将数据写入数据库中出问题了吗?
我是初学者,想请教各位前辈这个问题该怎么改?
以下是这段出错的代码:
Dim con As New OleDbconnection
con.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("gb.mdb")
con.open()
Dim strSQL As String
strSQL = "Insert Into gb(Name,Email,IP,content,date)"
strSQL = strSQL & "values('" & Me.UserName.Text &"','" & Me.Email.Text &"','" & Request.UserHostAddress & "','" & Me.Content.Text & "','" & System.DateTime.Now & "')"
Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(strSQL, con)
cmd.ExecuteNonQuery()
con.Close()

小女子万分感谢~~~~
回alby:
谢谢你的答案,但是gb中的字段Name,Email,IP,content,date确实存在,而且无拼写错误。不是这个问题...

检查一下数据库gb中的字段Name,Email,IP,content,date这几个字段是否存在,或者拼写错误

//Insert Into gb(Name,Email,IP,content,date)
执行Insert时,表中的字段除了有默认值(含允许为空)和自增长型的外,其他的字段都必须明确写出,也就是说只要是系统不能为你自动生成值的,你就的为它明确地赋值;所以,检查一下Name,Email,IP,content,date之外还有没有不属于上面两种情况的字段