rs.Open "SELECT * FROM tempdb where year='" &choice& "'", cn, adOpenStatic, adLockOptimistic

解决方案 »

  1.   

    year(char 4)
    另外, gump2000(阿甘) 你的语句跟我给的好象一模一样嘛,就是去了一个distinct,难道这个关键字会影响我的操作吗?
      

  2.   

    distinct后面只能跟一个字段,要想用多个字段得用Group by
      

  3.   

    那么我改成只取一个字段,如:
    rs.Open "SELECT distinct year FROM tempdb where year='"&choice&"'", cn, adOpenStatic, adLockOptimistic
    这样就正确了吗?
      

  4.   

    字符串必须要用单引号隔开,2楼的添加了单引号。
    year字段是什么类型的啊?如果是数字型就不必要了
      

  5.   

    我的语句已经添加了单引号了,year(char 4)
      

  6.   

    DISTINCT 关键字可从 SELECT 语句的结果中除去重复的行。如果没有指定 DISTINCT,那么将返回所有行,包括重复的行。例如,如果在 titleauthor 中选择所有作者 ID 时未使用 DISTINCT,那么将会返回下列行(其中包括一些重复的行):您的这个SQL语句到底想完成什么?
    既然year已经有条件了,那么还需要用distinct过滤吗?
      

  7.   

    rs.Open "SELECT distinct year FROM tempdb where year='" & choice & "'", cn, adOpenStatic, adLockOptimistic多加了几个Space
      

  8.   

    可是现在情况是,我去掉了distinct,错误照旧啊!!!
    真是没想到一个语法问题会搞掉我这么多时间。
    我的语句主要是想让用户选择一个年份,然后去查询该年份里所有不重复的课程
    取出课程名让用户进一步选择
      

  9.   

    应为SELECT * FROM tempdb where [year]='" &choice& "'"
    year为函数
      

  10.   

    呵呵,怎么少看了这个
    楼上的对尽量不要用year,date...(under Sql server)
    作为字段名哦。
    您去看看,现在的字段名已经被SQL Server自动改成了
    [year]
      

  11.   

    多谢 gump2000(阿甘) ,居然就是少了那么几个空格,VB真是要把我逼疯了。
    不过又出了新的问题,我的year(char 4),choice as string
    查询时提示类型不匹配???
      

  12.   

    &两边都加空格!!!
    我上面的回答
      

  13.   

    现在是出现错误号‘3709’
    :the connection cannot be used to perform this operation.it is either closed or invalid in this context
    我仔细检查过代码。rs 对象没有被打开,我去数据库把year换成了yearnum结果也照旧。今天趁着两位高手在,希望还能再指教小弟一下。
      

  14.   

    rs.Open "SELECT distinct * FROM tempdb 
    where year=cdate(" & cstr(choice) & ")", cn, 
    adOpenStatic, adLockOptimistic
      

  15.   

    多谢各位了,尤其是 gump2000(阿甘) ltpao(啊炮)
    这个帖子分数也不多,我到另一个帖子给你们另外加分吧。
    真是没想到一个语法花了我那么多时间和精力