无法使用oracledataadpter填充数据集

时间:2013-03-11 11:46:33

标签: vb.net oracle ado.net

我面临着一个非常奇怪的问题,我使用的是以下代码,但 ds 有时没有填充 ds 中的数据,但并非总是如此,我已更改连接池并重新启动 iis 但根本没有运气,我无法找到问题所在,请帮帮我。 我在 TOAD 中运行相同的查询及其给定结果,如果有任何不一致的事情,我也提交了事务。

 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 个答案:

答案 0 :(得分:1)

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

而不是TO_DATE('11-Mar-2013')

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