By using the OLEDB to operate the Oracle database, the picture is successfully implemented to the BLOB type field, but sometimes ORA-01036 error issues, the query is the error prompt to Illegal variable name / number, I don't know who can explain in detail Illegal variable name. Meaning / Number
Oracle Data Provider for .NETHiI am using ODP.NET (Oracle Data Provider for .NET) in my asp.net application.I have a table in my oracle database called "equipmentgroup". When the page loads for the first time i retrieve all the records from the table to a dataset and save it to viewstate. Later on any addition or modification is done in the dataset only in disconnected mode. Finally, when user clicks update i call this function "update" which should do a batch update but instead it gives the following error: "ORA-01036: illegal variable name / number" private void update () {OracleParameter workParam; OracleConnection cnn = new OracleConnection ( "Data Source = NEELESHR; User Id = tmse; Password = tmse;") ; string sql = "INSERT INTO EquipmentGroup (Code, Description, LifeTime, PriamryLife, Grading, Inflator, ExtensionRate, MaintenanceFee) VALUES (: Code,: Description,: LifeTime,: PriamryLife,: Grading,: Inflator,: ExtensionRate,: MaintenanceFee ) OracleCommand cmd = new OracleCommand (sql, cnn); cmd.CommandType = CommandType.Text; OracleDataAdapter da = new OracleDataAdapter (); da.InsertCommand = cmd; workParam = da.InsertCommand.Parameters.Add ( "Code", OracleType.Char , 10, "Code"); workParam.SourceVersion = DataRowVersion.Current; workParam = da.InsertCommand.Parameters.Add ( "Description", OracleType.VarChar, 50, "Description"); workParam.SourceVersion = DataRowVersion.Current; workParam = da.insertcommand.parameters.add ("lifetime"
, OracleType.Number); workParam.SourceColumn = "LifeTime"; workParam.SourceVersion = DataRowVersion.Current; workParam = da.InsertCommand.Parameters.Add ( "PriamryLife", OracleType.Number); workParam.SourceColumn = "PriamryLife"; workParam .SourceVersion = DataRowVersion.Current; workParam = da.InsertCommand.Parameters.Add ( "Grading", OracleType.Char, 10, "Grading"); workParam.SourceVersion = DataRowVersion.Current; workParam = da.InsertCommand.Parameters.Add ( "Inflator", OracleType.Number); workParam.SourceColumn = "Inflator"; workParam.SourceVersion = DataRowVersion.Current; workParam = da.InsertCommand.Parameters.Add ( "ExtensionRate", OracleType.Number); workParam.SourceColumn = "ExtensionRate "; Workparam.SourceVersion = DATAROWVERSION.CURRENT; Workparam = da.insertCommand.Parameters.Add (" maintenancefee ", oracletype.number; Workparam .SourceColumn = "MaintenanceFee"; workParam.SourceVersion = DataRowVersion.Current; try {da.Update (ds, "EquipmentGroup");} catch (Exception e) {Message.Text = e.Message;}} Hi, I think that You Should Add Parameters with ":" inclined, like: workparam = da.insertcommand.parameters.add (": code", oracletype.char, 10, "code");
OLEDB DATA Provider for .NET
String SQL = "INSERT INTO EquipmentGroup (Code, Description, Lifetime, PriamryLife, Grading, Inflator, Extensionrate, Maintenance, VALUES (?,?,?,,?,?,?,?,)"; hi, i think there You Should Add Parameters with ":" inclined, like: workparam = da.insertcommand.parameters.add (": code", oracletype.char, 10, "code");