4

我使用 oracle 作为我的后端,我编写插入查询如下,我不知道它是不是正确的方法,

insert into Emp_table (SL_NO,empane,empid,salaray) values(1,'sree',1002 ,:salary);

在查询中,我正在使用存储过程计算薪水并将其作为我的输出参数薪水,因此我必须将其传递给我的插入查询,以便我如何编写。如果我像所示那样写,我会遇到以下错误

ORA-06550: line 1, column 175:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 1, column 7:
PL/SQL: SQL Statement ignored

请帮助我。

4

3 回答 3

13

Microsoft已弃用其 Oracle 提供程序(System.Data.OracleClient),因此请使用第三方提供程序,例如Oracle 的 Data Provider for .NET下面的代码示例与FSX 的答案基本相同,只是没有AddWithValue方法的方便。

command.Parameters.Add(new OracleParameter("SL_NO", 1));
command.Parameters.Add(new OracleParameter("empane", "sree"));
于 2014-09-04T14:31:33.057 回答
10

假设工资金额是20000,你可以试试这个代码:

var commandText = "insert into Emp_table (SL_NO,empane,empid,salaray) values(:SL_NO,:empane,:empid,:salary)";

using (OracleConnection connection = new OracleConnection(connectionString))
using (OracleCommand command = new OracleCommand(commandText, connection))
{
    command.Parameters.AddWithValue("SL_NO", 1);
    command.Parameters.AddWithValue("empane", "sree");
    command.Parameters.AddWithValue("empid", 1002);
    command.Parameters.AddWithValue("salaray", 20000);
    command.Connection.Open();
    command.ExecuteNonQuery();
    command.Connection.Close();
}
于 2012-10-10T05:50:58.637 回答
2
   strin sql= "insert into Emp_table (SL_NO,empane,empid,salaray) values(:SL_NO,:empane,:empid,:salary)";
    OracleCommand command = new OracleCommand(sql, connection)
    command.Parameters.Add(new OracleParameter("SL_NO", 1);
    command.Parameters.Add(new OracleParameter("empane", "sree"));
    command.Parameters.Add(new OracleParameter(("empid", 1002));
    command.Parameters.Add(new OracleParameter(("salaray", 20000));
    command.Connection.Open();
    command.ExecuteNonQuery();
    command.Connection.Close();
于 2016-02-29T07:26:50.770 回答