数据不是通过asp.net使用ODP.NET插入oracle表
我使用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,字符串过程,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,Boolean bCheck)位于Schools.ManagementSystem.DAL.insertRecord上的Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() ,学生管理系统 SchoolsManagementSystem App_Code DAL.cs中的第85行:SchoolsManagementSystem.Group.btnSubmit_Click(对象发送者,EventArgs e)在d: c# SchoolsManagementSystem SchoolsManagementSystem Group.aspx.cs中的第85行:第26行
指导我如何解决我的问题
在你的SQL语句中,使用冒号前缀来表示绑定参数,而不是@:
INSERT INTO t (COL1) values(:param1)
使用@符号适用于SQL Server,不适用于Oracle。
此外,您的绑定语句只需使用名称“GROUPNAME”,而不需要在参数.Add()调用中使用前缀字符@或:。
像这样:
cmd.CommandText =
"INSERT INTO tblGroup (GROUPNAME,GROUPDETAILS) values(:GROUPNAME, :GROUPDETAILS)";
cmd.Parameters.Add("GROUPNAME", StudentgroupName);
cmd.Parameters.Add("GROUPDETAILS", groupDetails);
链接地址: http://www.djcxy.com/p/67191.html
上一篇: Data is not inserting oracle table using ODP.NET through asp.net
下一篇: Oracle.DataAccess.Client.OracleException at Connection.Open()