【问题标题】:oracle date insert from vb.net从 vb.net 插入 oracle 日期
【发布时间】:2013-06-06 11:45:16
【问题描述】:

我有一个 Oracle 过程,我必须将一个日期时间值从我分配为 bdp1 的基本日期选择器传递到该过程。 如何从 VB.net 传递这个值。 当我传递日期时,它不会执行函数

Public Function GetDate(ByVal strMaterial As String, ByVal ListBox1 As String, ByVal bdp1 As Date) As DataSet

    Dim connectionString As String = "Data Source = ***; User ID = ***; Password = **;"
    Dim sqlConnection As OracleClient.OracleConnection = New OracleClient.OracleConnection(connectionString)


    Dim queryString As String = "select * from abc where tran_dttm <= to_date( ':bdp1','MM-DD-YYYY' ) and tran_dttm > to_date( ':bdp1','MM-DD-YYYY')"


    Dim sqlCommand As OracleClient.OracleCommand = New OracleClient.OracleCommand(queryString, sqlConnection)
    sqlCommand.CommandTimeout = 0


    sqlCommand.Parameters.AddWithValue(":strMaterial", txtMaterial.Text)
    sqlCommand.Parameters.AddWithValue(":ListBox1", ListBox1)
    sqlCommand.Parameters.AddWithValue(":bdp1", bdp1)



    Dim dataAdapter As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter(sqlCommand)
    Dim dataSet As DataSet = New DataSet
    dataAdapter.Fill(dataSet)

    Return dataSet

End Function

【问题讨论】:

    标签: vb.net oracle


    【解决方案1】:

    1) 将其作为日期传递,而不是您随后转换为数据库中日期的字符串。那是疯狂的谈话。

    2) 如果你真的想这样做,那么你不能引用你的参数:to_date( ':bdp1','MM-DD-YYYY' ) 它正在尝试 to_date 文字字符串 ':bdp1'。改成:to_date( :bdp1,'MM-DD-YYYY' )

    编辑

    糟糕,我误读了您的代码,当我看到您的 to_date 内容时,我以为您正在传递一个字符串。你实际上是在传递一个日期,所以你根本不需要调用 to_date。你应该可以这样做:

    select * from abc where tran_dttm <= :bdp1 and tran_dttm > :bdp1
    

    再次注意,您不会将参数包含在单引号中。

    【讨论】:

    • ok 已通过日期。我应该用 sqlCommand.Parameters.AddWithValue to_date( :bdp1,'MM-DD-YYYY' ) 更改 sqlCommand.Parameters.AddWithValue(":bdp1", bdp1) 吗?
    • 所以只保留这个>> sqlCommand.Parameters.AddWithValue(":bdp1", bdp1) ?
    • 我认为参数名称中不应该有冒号,只有在实际的select语句中才需要冒号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 2014-10-20
    • 2014-12-23
    • 2017-01-03
    • 2021-03-13
    相关资源
    最近更新 更多