我使用ODP.NET Oracle.DataAccess.Client通過Asp.net c#插入記錄在Oracle表中。 Oracle表是tblGroup和組名VARCHAR2,GROUPDETAILS VARCHAR2是列名 但數據並不inserting.I我用下面的代碼數據沒有通過asp.net使用ODP.NET插入oracle表
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.Client.OracleException.HandleError(Int32)上的Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode,OracleConnection conn,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,String procedure,Boolean bCheck) errCode,OracleConnection連接,字符串過程,IntPtr opsErrCtx,OpoSqlValCtx * pOpoSqlValCtx,Object src,Bool學校管理系統\ SchoolsManagementSystem \ App_Code \ DAL.cs中的第85行:SchoolsManagementSystem.Group中的第85行,學校管理系統.DAL.insertRecord(字符串StudentgroupName,字符串groupDetails)上的Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() .btnSubmit_Click(對象發件人,EventArgs e)在d:\ C#\ SchoolsManagementSystem \ SchoolsManagementSystem \ Group.aspx.cs:行26
指引,我怎樣才能解決我的問題
上前綴有趣的說明。我沒有要測試的Oracle,但是它引發了錯誤,或者引擎簡單地忽略了前綴? – Steve
Oracle SQL解析器使用冒號指示綁定參數,無論是SQL,PL/SQL還是主機語言。 ADO驅動程序可能會或可能不會抱怨,但Oracle會。 @不是標識符或綁定變量的有效字符,因此可能會得到解析錯誤。我只知道它失敗了,因爲我有幾個數據庫工具可以銷售Oracle和SQL Server的工作,我必須在兩者之間使用條件代碼。 – codenheim
謝謝你的好意,我只是好奇。 – Steve