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

标签 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.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();

Missing SELECT

我已经搜索过了,它说已弃用。是真的吗?

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

最佳答案

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

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

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

关于c# - 在 ASP.NET 中插入时缺少 SELECT 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26901497/

相关文章:

c# - 用于选择/取消选择的 Javascript 函数选中 radgrid 标题模板中的所有复选框

c# - 向 asp.net 中的缓慢页面添加实时进度更新

asp.net - 请求超时。 Web 服务器未能在指定时间内响应

c++ - 为什么从客户端应用程序调用 SQL 引擎来调用 PL/SQL?

oracle - 想要在oracle DB上运行sql脚本(用窗口批处理文件编写)

sql - ORA-01722 : invalid number in to_number

javascript - 为什么 C# 和 ECMAScript ISO 标准可以免费获得,而 C/C++ 却不能?

c# - 了解 C# 中的装饰器设计模式

asp.net - 如何在 Entity Framework 中加载外键引用表数据

html - 跨域不起作用有错误请求必须是 POST