注册 登录
编程论坛 VB6论坛

求助:实时错误‘-2147217904(80040e10)至少一个参数没有被指定值

小小狼 发布于 2014-06-08 22:12, 2117 次点击
Private Sub Command6_Click()
Dim cn As New ADODB.Connection
Dim Res As New ADODB.Recordset
Dim sql As String
Dim insql As String
If TxtCenid.Text <> "" Then
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\法律条文.mdb;Mode=ReadWrite"
    Set Res = New ADODB.Recordset
    sql = "Select * From 基础表 Where ID=" & TxtCenid.Text
    Res.Open sql, cn, 1, 3
    If Res.RecordCount > 0 Then
       insql = "Insert Into Back(书名,章,节,条文) values('" & Res.Fields("书名").Value & "','" & Res.Fields("章").Value & "','" & Res.Fields("节").Value & "','" & Res.Fields("条文").Value & "')"
       cn.Execute insql
    End If
    Res.Close
    Set Res = Nothing
End If
DataGrid1.AllowUpdate = True
TxtCenid.Text = ""
End Sub
9 回复
#2
mingming22882014-06-08 22:25
个人经验,至少一个参数没有指定,应该是以下几个方面:
  1,数据库内字段个数和程序不对应
  2,字段名称书写有误
  3,类型不匹配
就能想到这三点,本人初学者,希望批评指正!
#3
小小狼2014-06-08 22:33
回复 2 楼 mingming2288
我一遍遍的检查了,就是这个按钮不行,也不知道什么问题,改了多次了,没有用
#4
mingming22882014-06-08 22:55
我是看不出来了,等高手吧。那四个字段都是字符型的呀!
#5
小小狼2014-06-08 23:51
好吧,还是继续等大神吧
#6
chen35232014-06-09 10:02
好似错在这句:
sql = "Select * From 基础表 Where ID=" & TxtCenid.Text
改为:
sql = "Select * From 基础表 Where ID=" & chr(14) & TxtCenid.Text & chr(14)

#7
小小狼2014-06-09 11:47
回复 6 楼 chen3523
不对,刚刚试了一下,没用
#8
alike1232014-06-09 14:54
sql = "Select * From 基础表 Where ID= '"& TxtCenid.Text &"'"
#9
alike1232014-06-09 14:56
要是不行就把单引号(')去掉
#10
vbvcr512014-06-10 23:00
看似sql不对。sql语句的where部分,字符串变量的话是这样子的:'" & 变量 & "'。去不去单引号,看id的数据类型是什么。字符串型就加单引号。数值型不加。

[ 本帖最后由 vbvcr51 于 2014-6-10 23:01 编辑 ]
1