没有空格select * from ..

解决方案 »

  1.   

    sql = "select*from Cmz where 民族='" & DataList1.Text & "'"
    改成sql = "select * from Cmz where 民族='" & DataList1.Text & "'"注意select * from这中间是有空格隔开的。
      

  2.   

    把你的这一句直接放到SQL上去执行,调试就知道.
    然后再copy回来,替换响应的参数就可以了.
      

  3.   

    ............
    cn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=CY"
    sql = "select*from Cmz where 民族='" & DataList1.Text & "'"
     '建议以后在此类语句处设置断点或者使用debug.print sql 在立即窗口显示 当前值 
    '(msgbox sql 也可以) 便于跟踪语句错误,及时改正。确定语句无问题之后去除此设置
    debug.print sql Set rs = New ADODB.Recordset
    ................当前的错误信息如  Cooly(Lazy)  所言处理即可
      

  4.   

    以上是我程序中的代码,当我执行时提示错误:
    [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字'select'附近由语法错误提示他以后 点击确定后 提示的错误是:
    对象'Refresh'的方法'IAdodc'失败
      

  5.   

    TO 楼主:
    如果你的问题依然存在,请按照 mousean(快乐无限) 的方法进行调试,看一下返回的sql语句到底是什么?这样就可以比较容易的排查错误。
      

  6.   

    你用 mousean(快乐无限) 的方法试试,这种方法我经常用的
      

  7.   

    目前的错误就是:
    对象'Refresh'的方法'IAdodc'失败Adodc1.Refresh   <----------错误指向程序段的这里
      

  8.   

    是不是这个错误已经解决了?!
    [Microsoft][ODBC SQL Server Driver][SQL Server]在关键字'select'附近由语法错误对象'Refresh'的方法'IAdodc'失败???
    再试一试下面的处理:
    ..................
    sql = "select*from Cmz where 民族='" & DataList1.Text & "'"
    Set rs = New ADODB.Recordset
    rs.Open sql, cn, adOpenKeyset, adLockOptimistic
    '****************************
    '这儿把这句注释掉,直到你refresh之前下面没有用到ADODC1,干脆不要用
    '''Adodc1.RecordSource = sql
    '****************************
    If rs.EOF Then
    Exit Sub
    Else
    rs.Delete
    '*****************************
    ''Adodc1.Refresh   <----------错误指向这里
    '在这儿赋SQL语句给adodc的数据源
    Adodc1.RecordSource = sql
    '****************************
    Set DataList1.DataSource = Adodc1
    DataList1.DataField = "民族"
    Set DataList1.RowSource = Adodc1
    DataList1.ListField = "民族"
    DataList1.Refresh
    End If
    rs.Close
    cn.Close
    ........