• User

    Errore query con OleDbParameter

    Il codice incriminato è il seguente:

    Dim SQL As String = "select * from table where pub_date = @pub_date"
    Dim DataAdapter As New OleDb.OleDbDataAdapter(SQL, Connection)
    Dim DataSet As New DataSet
    DataAdapter.SelectCommand.Parameters.Add(New OleDb.OleDbParameter("@pub_date", #1/23/2011 11:58:44 AM#))
    DataAdapter.Fill(DataSet)

    L'esecuzione di tale codice va a buon fine. Se però nella query sostituisco il segno di = con l'operatore di < ottengo un'eccezione "Tipi di dati non corrispondenti nell'espressione criterio". Lo stack trace è il seguente:

    in System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
    in System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
    in System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
    in System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
    in System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
    in System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
    in System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
    in System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    in System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    in System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)

    Grazie.
    Carlo


  • User

    ciao, se esegui la query nel software per la gestione del database ti dà qualche errore?