解决方法有二1.c#文本命令是这样:  select * from yhb where (user=?)
正常sql语句:select * from yhb t where lower(t.user)=lower('用户输入用户名');可c#那里不知怎么写;2.CREATE INDEX IND_T_L_NAME ON yhb(NLSSORT(user, 'NLS_SORT=BINARY_CI'));
不过它说格式错误?

解决方案 »

  1.   

    不行................查询生成器说"lower"是无效的标识符,以下是查询生成器里面执行的sql语句
    SELECT     YHDH
    FROM         ADM.YHB
    WHERE     ("lower"(YHDH) = '{0}')
    c#代码里
    以前是this.oleDbSelectCommand2.CommandText = "SELECT user FROM YHB WHERE (user=?)";
    我改为this.oleDbSelectCommand2.CommandText = "SELECT user FROM YHB WHERE lower(user)=\'{0}\'";
      

  2.   

    查询生成器里面执行的sql语句改为
    SELECT     YHDH
    FROM         ADM.YHB
    WHERE     ('lower(YHDH)' = ?)结果却为空
      

  3.   

    SELECT     YHDH
    FROM         ADM.YHB
    WHERE     ('lower(ADM.YHB.YHDH)' = ?)也不行
      

  4.   

    SQL> SELECT YHDH FROM YHB WHERE YHDH = 'Hjy'
      2  ;YHDH
    --------SQL> ALTER SESSION SET NLS_SORT = BINARY_CI;ALTER SESSION SET NLS_SORT = BINARY_CIORA-12705: 指定了无效或未知的 NLS 参数值
      

  5.   

    vs.2005 用服务资源管理器怎么连接oracle?