我在做一个进销存管理系统。在做“销售订单查询”时,我要用“订货单编号”和“商品编号”进行查询。可是老是说没有
实时错误‘-2147217904(80040e10)‘
参数?-1没有默认值
我程序如下:
Option Explicit
Private Comm As New ADODB.Command
Private Conn As New ADODB.Connection
Private Rs As New ADODB.Recordset
Private Sub cmdQuery_Click()
  '定义两个局部记录集对象
Dim objRs As Recordset, objSource As Recordset
Dim i As Integer
  Comm("dhbh") = "%" & Text1 & "%"            (这边该怎么写呢?)
  Comm("spbh") = "%" & Text2 & "%"
  Set objRs = Comm.Execute
  Set objSource = New Recordset
  For i = 0 To objRs.Fields.Count - 1
     objSource.Fields.Append objRs.Fields(i).Name, adVarChar, objRs.Fields(i).DefinedSize
     Next
     objSource.Open
     While Not objRs.EOF
       objSource.AddNew
       objSource!dhdata = objRs!dhdata
       objSource!dhbh = objRs!dhbh
       objSource!khbh = objRs!khbh
       objSource!spbh = objRs!spbh
       objSource!spcolor = objRs!spcolor
       objSource!sl = objRs!sl
       objSource!dj = objRs!dj
       objSource!zje = objRs!zje
       objRs.MoveNext
      Wend
      If objSource.RecordCount > 0 Then objSource.MoveFirst
      Set DataGrid1.DataSource = objSource
      Label4 = "共获得" & objSource.RecordCount & "条查询结果"
       
End SubPrivate Sub Command1_Click()
  Unload Me
  xtcd.Show 0
End SubPrivate Sub Form_Load()
  Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\VB练习\数据库\jxc2.mdb;Persist Security Info=False"
  Conn.Open
  '  如果RecordSet的状态不是关闭状态,则关闭Recordset
  If Rs.State <> adStateClosed Then Rs.Close
  Rs.Open "select * from xsd ", Conn, adOpenKeyset, adLockOptimistic
  MsgBox Rs.RecordCount
     
    '创建执参数查询的Command对象Comm
    Set Comm.ActiveConnection = Conn
    Comm.CommandText = "SELECT * FROM  xsd WHERE  dhbh LIKE ?" & " and spbh LIKE ?"     (是不是这边有问题啊?怎么写这语句?)
    Comm.CommandType = adCmdText
    '为Command对象objcmd创建参数
   Dim Parm As Parameter
   Set Parm = Comm.CreateParameter("dhdata", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("dhbh", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("khbh", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("spbh", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("spcolor", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("sl", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("dj", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Set Parm = Comm.CreateParameter("zje", adVarChar, adParamInput, 10)
   Comm.Parameters.Append Parm
   Label4 = ""  '清除标签
End Sub
Private Sub Form_Unload(Cancel As Integer)
  Set Comm = Nothing
  Set Conn = Nothing
End Sub