dbConn.Open PDBconnectionString
    dbCmd.ActiveConnection = dbConn
    
    dbCmd.CommandText = "SELECT * FROM tCodeDetail WHERE fStatus = ?"
    dbCmd.CommandType = adCmdText
    
    dbCmd.Parameters.Append dbCmd.CreateParameter("fStatus", adChar, adParamInput, 3)
    dbCmd.Parameters.Item("fStatus").Value = "N"    Dim dbRs As New ADODB.Recordset
    'dbRs.CursorType = adOpenStatic
    Set dbRs = dbCmd.Execute
    Set grdShowCode.Recordset = dbRs我运行了上面的这些代码,怎么这个表格只显示一条数据?是不是还需要配置什么属性?这个表里面有3条数据.

解决方案 »

  1.   

    把WHERE fStatus = ?去掉
      

  2.   

    "SELECT * FROM tCodeDetail WHERE fStatus = ?" 
    嗯,这个?有错误。
      

  3.   

    这个?是CreateParameter参数的,我把这个?改为N也只能返回一个数据,而那个数据库有3个N的数据.
      

  4.   

    rs.open "SELECT * FROM tCodeDetail WHERE fStatus =" & chr(39) & "?" & chr(39)
      

  5.   

    这样测试一下:while not dbRs.eof
        debug.Print dbRs!fStatus
        dbRs.movenext
    wend如果还是一条,说明你参数条件有问题
      

  6.   

    try:dbCmd.Parameters.Append dbCmd.CreateParameter("fStatus", advarChar, adParamInput, 3)