"select * from [个人基础档案] where [个人基础档案_id]=" & Trim(Str(id)), G_DB, adOpenStatic, adLockOptimistic,adcmdtext

解决方案 »

  1.   

    jbRS_Sub.Open "select * from 个人基础档案 where 个人基础档案_id=" + clng(Trim(Str(id))), G_DB, adOpenStatic, adLockOptimistic
      

  2.   

      在VB中执行SQL语句,特别当有 个人基础档案_id=" + Trim(Str(id))之类嵌套变量时很麻烦. 但以我的经验,无非是引号和 宏引用时的取舍,我以前是试过几次才行的.至于引用表名时的[],似乎一定必要. 多试两次吧.
      

  3.   

    Oh,sorry,我最后的话是,"似乎不一定必要."
    肯定不是中英文混合的问题.VB完全支持中文标识符.
    对了,你不用str(id),而用CSTR(id)试一下?
      

  4.   

    其实也不是str(id)中的错,我都试过用下面这样都不行jbRS_Sub.Open "select * from 个人基础档案 where 个人基础档案_id=1", G_DB, adOpenStatic, adLockOptimistic
    这样都不行呀。真是怪了,
      

  5.   

    去掉Set jbRS_Sub = New Recordset这句话试一试.
      

  6.   

    jbRS_Sub.Open "select * from [个人基础档案] where [个人基础档案_id]="+trim(str(id))+" ", G_DB, adOpenStatic, adLockOptimistic这样行吗?
      

  7.   

    你在程序中也象上面那样写的吗?jbRS_Sub声明了吗?你声明的是jbRS_Sub_sub,不会是这样的低级错误引起的吧!
      

  8.   

    很有可能哦
    是不是应该改为:
        Dim jbRS_Sub_sub As Recordset  '打开个人基础表
        Set jbRS_Sub_sub = New Recordset
        jbRS_Sub_sub.Open "select * from 个人基础档案 where 个人基础档案_id=" + Trim(Str(id)), G_DB, adOpenStatic, adLockOptimistic
      

  9.   

    很有可能哦!
    是不是应该改为:
    Dim jbRS_Sub_sub As Recordset  '打开个人基础表
        Set jbRS_Sub_sub = New Recordset
        jbRS_Sub_sub.Open "select * from 个人基础档案 where 个人基础档案_id=" + Trim(Str(id))+"", G_DB, adOpenStatic, adLockOptimistic
      

  10.   

    这个问题我已经解决了,其实你们都没有想到错在哪里。错就错在 sql语句中 
    有可能是因为有 中文名跟英文在一起的 字段名原因吧。
    应该把select * from 个人基础档案 where 个人基础档案_id=" + Trim(Str(id))
    改成 SELECT * FROM 个人基础档案 WHERE 个人基础档案_id="+trim(str(id))
    把sql语句中的命令词改成大写就行了。