2013-03-11 19 views
3

我面临的很奇怪的问题,我现在用的是下面这段代码,但DS没有填充有时有在DS数据,但并非总是如此,我必须改变连接池,也重新启动iis但没有运气,我无法找到问题的地方请帮助我。 我在TOAD及其给出的结果中运行相同的查询,如果有任何不一致的东西,我也提交事务。无法填补数据集oracledataadpter

Dim command As New OracleCommand 
     Dim ds As New DataSet 
     Try 
      Using connection As New OracleConnection 
(ConfigurationManager.ConnectionStrings("CA").ConnectionString.ToString()) 
       connection.Open() 
       command.Connection = connection 
       command.CommandText = "SELECT w.portfolio, w.appl_group, 
tm.trng_title, p.tt_program_title," & _ 
            " p.created_date, 
p.tt_target_completion_date, p.tt_prog_status," & _ 
            " w.emp_id, w.first_name || ' ' || 
w.last_name, ('Y') training_done_flag," & _ 
            "   t.actual_completion_date, 
p.created_by, w.people_manager, " & _ 
            "  w.project_manager, w.flag" & 
_ 
            " FROM tt_training_done_records t," & _ 
            " wsr_employee w, " & _ 
            " tt_training_master tm, " & _ 
            " tt_newprogram p" & _ 
            " WHERE(w.emp_id = t.employee_id)" & _ 
            " AND t.training_info_id = tm.trng_id" 
& _ 
            " AND p.tt_program_id(+) = 
t.program_id" & _ 
            " AND tm.trng_id IN ('TT_009') " & _ 
            " AND t.actual_completion_date BETWEEN 
TO_DATE('11-Mar-2009') AND TO_DATE('11-Mar-2013') " & _ 
            " " 

       Dim adpt As New OracleDataAdapter(command) 
       adpt.AcceptChangesDuringFill = False 
       adpt.Fill(ds) 
       connection.Close() 
      End Using 

回答

1

不要依赖将日期转换为字符串的默认行为。请使用日期文字或提供格式字符串参数。这引入了对.NET代码不应依赖的NLS环境设置的依赖。

相反的TO_DATE('11-Mar-2013')

尝试date '2013-03-11'TO_DATE('11-Mar-2013'), 'DD-Mon-YYYY')