2012-10-10 90 views
2

我使用Oracle作爲我的後端和我寫插入查詢如下,我不知道是不是正確的方法都沒有,如何編寫參數化的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 

請幫助我。

回答

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(); 
} 
0
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(); 
+0

我得到錯誤,同時增加零。例如:(「salary」,0)..薪酬在Oracle中定義爲NUMBER。 @AshishModi – user7157732