C# 在ASP.NET中插入时缺少SELECT关键字

C# 在ASP.NET中插入时缺少SELECT关键字,c#,asp.net,oracle,visual-studio-2010,odp.net,C#,Asp.net,Oracle,Visual Studio 2010,Odp.net,我完全看不到这个错误。我更像一个Java人而不是ASP人。下面是我的代码和我的问题: 以下是产生错误的代码: protected void ButtonOk_Click(object sender, EventArgs e) { // OracleConnection connect = new OracleConnection(); // connect.ConnectionString = ConfigurationManager.ConnectionSt

我完全看不到这个错误。我更像一个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()行中

我已经搜索过了,它说不推荐。这是真的吗


注意:我使用的是ODP.NET,我使用的是visual studio 2010。

您的查询的问题是,您用单引号将列名括起来,这使它们成为字符串文字

要解决此问题,只需删除列名周围的单引号:

var sql = "insert into master_dosen(NIP,NAMA_DOSEN,KETERANGAN) ...";

试试这个,它会起作用的,我想你错过了sql插入语法

真见鬼,说真的。哦,我的天,我笑了。谢谢你,你是最好的,我是最差的。它完美无瑕,是的,兄弟。我知道,但回答得最快的人首先得到了答案。谢谢你,伙计。我笑了。列名不应在单引号中。单引号仅对我的sql有效。。因此,删除单引号。。
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();
        }