Facing ORA-01830 Ошибка при выборе данных из базы данных ORACLE - PullRequest
0 голосов
/ 14 апреля 2019

У меня проблема при попытке выбрать записи из базы данных Oracle с помощью WPF.Я получил эту ошибку: ORA-01830 (картинка в формате даты заканчивается перед преобразованием всей входной строки Причина)

Мой код:

OracleDataReader dr;
OracleCommand cmd = new OracleCommand();

using (OracleConnection cn = new OracleConnection() { ConnectionString = "DATA SOURCE=*****:1521/ORCL;PASSWORD=*****;PERSIST SECURITY INFO=True;USER ID=*****" })
{
    cn.Open();

    // DateTime dt = Convert.ToDateTime(from_datePicker.Text);
    OracleDataAdapter da = new OracleDataAdapter("Select B_NO,R_CLIENT_NAME,ENG_NAME,USER_NAME,R_ADDRESS,R_WORK_DATE,B_DATE,B_YEAR,B_WP_NAME,I_NAME,I_NO,BI_Q,I_CONTSR_TYPE_DESCR,R_PLACE_DESCR from VW_CI_REP_ITEMS_RESERV  where R_WORK_DATE = '" + from_datePicker.SelectedDate + "'", cn);

    DataSet ds2 = new DataSet();
    da.Fill(ds2, "VW_CI_REP_ITEMS_RESERV");

    DeltaInvoices_Grid.ItemsSource = ds2.Tables["VW_CI_REP_ITEMS_RESERV"].DefaultView;
}

GridCount_txt.Text = DeltaInvoices_Grid.Items.Count.ToString();

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

При возникновении ошибки ORA-01830 появится следующее сообщение об ошибке:

ORA-01830: изображение в формате даты заканчивается перед преобразованием всей входной строки причина Вы попытались ввести значение даты, но введенная дата не соответствует формату даты.

Я думаю, вам следует преобразовать поле «Дата», которое вы передаете в адаптер данных Oracle, следующим образом:

 TO_DATE(from_datePicker.SelectedDate, 'dd-mon-yyyy hh:mi PM')

или любой другой формат, который вы сохранили это поле в вашей базе данных.

0 голосов
/ 14 апреля 2019

попробуйте

      OracleDataReader dr;
      using (OracleConnection cn = new OracleConnection() { ConnectionString = "DATA SOURCE=*****:1521/ORCL;PASSWORD=*****;PERSIST SECURITY INFO=True;USER ID=*****" })
      {
        cn.Open();

        var sql =
          "Select B_NO,R_CLIENT_NAME,ENG_NAME,USER_NAME,R_ADDRESS,R_WORK_DATE,B_DATE,B_YEAR,B_WP_NAME,I_NAME,I_NO,BI_Q,I_CONTSR_TYPE_DESCR,R_PLACE_DESCR from VW_CI_REP_ITEMS_RESERV  where R_WORK_DATE = :fromDatePicker";

        OracleCommand cmd = new OracleCommand(sql, cn);
        var parameter = new OracleParameter("fromDatePicker", OracleDbType.Date) {
          Value = Convert.ToDateTime(from_datePicker.Text),

        };

        cmd.Parameters.Add(parameter);

        OracleDataAdapter da = new OracleDataAdapter(cmd);

        DataSet ds2 = new DataSet();
        da.Fill(ds2, "VW_CI_REP_ITEMS_RESERV");

        DeltaInvoices_Grid.ItemsSource = ds2.Tables["VW_CI_REP_ITEMS_RESERV"].DefaultView;
      }

      GridCount_txt.Text = DeltaInvoices_Grid.Items.Count.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...