[英]Data is not inserting oracle table using ODP.NET through asp.net
我正在使用ODP.NET Oracle.DataAccess.Client通過Asp.net c#在Oracle表中插入記錄。 oracle表是tblGroup和GROUPNAME varchar2,GROUPDETAILS varchar2是列名但數據沒有插入。我使用下面的代碼
public void insertRecord(string StudentgroupName, string groupDetails)
{
using (OracleConnection con = GetConnection())
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = con; //assigning connection to command
cmd.CommandType = CommandType.Text; //representing type of command
cmd.CommandText = "INSERT INTO tblGroup (GROUPNAME,GROUPDETAILS) values(@GROUPNAME,@GROUPDETAILS)";
//adding parameters with value
cmd.Parameters.Add("@GROUPNAME", StudentgroupName);
cmd.Parameters.Add("@GROUPDETAILS", groupDetails);
con.Open(); //opening connection
cmd.ExecuteNonQuery();
}
}
並得到以下錯誤
Oracle.DataAccess.Client.OracleException ORA-00936:Oracle.DataAccess上的Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,String procedure,Boolean bCheck)中缺少表達式.Client.OracleException.HandleError(Int32 errCode,OracleConnection conn,String procedure,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,Boolean bCheck)at SchoolsManagementSystem.DAL.insertRecord(String StudentgroupName)上的Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() ,字符串groupDetails)在d:\\ c#\\ SchoolsManagementSystem \\ SchoolsManagementSystem \\ App_Code \\ DAL.cs:第85行:SchoolsManagementSystem.Group.btnSubmit_Click(Object sender,EventArgs e),位於d:\\ c#\\ SchoolsManagementSystem \\ SchoolsManagementSystem \\ Group.aspx.cs :第26行
指導我如何解決我的問題
在SQL語句中,使用冒號前綴表示綁定參數,而不是@:
INSERT INTO t (COL1) values(:param1)
使用@符號適用於SQL Server,而不適用於Oracle。
此外,您的綁定語句只需使用名稱“GROUPNAME”,在parameters.Add()調用中不需要前綴字符@或:。
像這樣:
cmd.CommandText =
"INSERT INTO tblGroup (GROUPNAME,GROUPDETAILS) values(:GROUPNAME, :GROUPDETAILS)";
cmd.Parameters.Add("GROUPNAME", StudentgroupName);
cmd.Parameters.Add("GROUPDETAILS", groupDetails);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.