功能就是转换日期成 'dd mon yyyy' 例如: 12 SEP 1979
通过SQL是这样实现的:
SQL> alter session set nls_language='american';
Session altered.
SQL> select to_char(sysdate,'dd mon yyyy') from dual;但在C#里这样写:
                using (OracleConnection cn = ServerCommon.OpenConnection())
                {
                    Oracle.Helper.ExecuteNonQuery(cn, CommandType.Text, "alter session set nls_language='american'");
                      Oracle.Helper.ExecuteNonQuery(cn,CommandType.Text,"insert A SELECT to_char(sqb.csrq, 'DD MON YYYY', 'nls_language=american') dycsrq FROM B")
}
这时 日期字段显示的不是类似 12 SEP 1979  而是  12 9月 1979  (中间有中文的“月”) 
怎么才能在C#中执行ORACEL里类似 alter的语句呢? 

解决方案 »

  1.   

    1.这个问题和微软企业库没有半毛钱关系...2.DBMS函数在服务器执行,返回结果在客户端格式化...你不可能指望服务器和客户端有相同的区域性设置...3.日期时间格式化在客户端就能做,不允许执行什么alter语句...你不觉得这种小事都要去服务器走一圈太浪费了吗...
      

  2.   

    不允许执行什么alter语句...
    -----------------
    不需要执行什么alter语句...打错字...
    直接格式化啊,还需要什么办法...DateTime.ToString(String, IFormatProvider)方法,IFormatProvider参数可以指定区域性信息...别说美制格式,只要你的客户端计算机支持全世界格式都支持...
      

  3.   

    求求各位帮忙解决下C#的这个问题    ,我真的很急555555
    http://topic.csdn.net/u/20101222/17/a2d8e8b3-a2c8-4831-8082-cfd1b280a83d.html