Отсутствует ключевое слово SELECT при вставке в ASP.NET

2

Я полностью слеп с этой ошибкой. Я больше человек Java, чем один ASP. Итак, вот мой код и мой вопрос:

Вот мой код, который вызывает ошибку:

protected void ButtonOk_Click(object sender, EventArgs e)
    {
       // OracleConnection connect = new OracleConnection();
       // connect.ConnectionString = ConfigurationManager.ConnectionStrings["Absensi2.Properties.Settings.Setting"].ConnectionString;
       //// SqlConnection connect = new SqlConnection(getConnection());
        var sql = "insert into master_dosen('NIP','NAMA_DOSEN','KETERANGAN') values (:NIP, :NAMA_DOSEN, :KETERANGAN)";

        using (OracleConnection c = new OracleConnection(ConfigurationManager.ConnectionStrings["Absensi2.Properties.Settings.Setting"].ConnectionString))
        {
            c.Open();
            using (OracleCommand cmd = new OracleCommand(sql, c))
            {
                cmd.Parameters.Add(":NIP", TextBoxNIP.Text);
                cmd.Parameters.Add(":NAMA_DOSEN", TextBoxNamaDosen.Text);
                cmd.Parameters.Add(":KETERANGAN", TextBoxKeterangan.Text);

                cmd.ExecuteNonQuery();
                GridView1.DataBind();
            }
            c.Close();
        }

Ошибка: ORA-00928: отсутствует ключевое слово SELECT в строке cmd.ExecuteNonQuery();

Изображение 174551

Я уже ищу, и он говорит, что он устарел. это правда?

NB: Я использую ODP.NET, и я использую visual studio 2010.

  • 2
    имя столбца не должно быть в одинарных кавычках.
  • 1
    одинарная кавычка действительна только для my-sql .. поэтому удалите одинарную кавычку ..
Теги:
visual-studio-2010
odp.net

2 ответа

4
Лучший ответ

Проблема с вашим запросом заключается в том, что вы обмениваете имена столбцов одинарными кавычками, что делает их строковыми литералами.

Чтобы устранить проблему, просто удалите одинарные кавычки вокруг имен столбцов:

var sql = "insert into master_dosen(NIP,NAMA_DOSEN,KETERANGAN) ...";
  • 0
    Черт возьми, Серьезно. Боже мой, я смеюсь с этими решениями. Спасибо, парень, ты лучший, а я худший. Работает без нареканий.
2
protected void ButtonOk_Click(object sender, EventArgs e)
    {
       // OracleConnection connect = new OracleConnection();
       // connect.ConnectionString = ConfigurationManager.ConnectionStrings["Absensi2.Properties.Settings.Setting"].ConnectionString;
       //// SqlConnection connect = new SqlConnection(getConnection());
        var sql = "insert into master_dosen(NIP,NAMA_DOSEN,KETERANGAN) values (:NIP, :NAMA_DOSEN, :KETERANGAN)";

        using (OracleConnection c = new OracleConnection(ConfigurationManager.ConnectionStrings["Absensi2.Properties.Settings.Setting"].ConnectionString))
        {
            c.Open();
            using (OracleCommand cmd = new OracleCommand(sql, c))
            {
                cmd.Parameters.Add(":NIP", TextBoxNIP.Text);
                cmd.Parameters.Add(":NAMA_DOSEN", TextBoxNamaDosen.Text);
                cmd.Parameters.Add(":KETERANGAN", TextBoxKeterangan.Text);

                cmd.ExecuteNonQuery();
                GridView1.DataBind();
            }
            c.Close();
        }

Попробуйте это, он будет работать, я думаю, вы пропустите синтаксис вставки sql

  • 0
    Да, братан Я знал это, но самый быстрый человек, который ответил, получил его первым. Спасибо чувак. Я смеюсь над этим. Лол

Ещё вопросы

Сообщество Overcoder
Наверх
Меню