private void GetProductList() { var sw = new System.Diagnostics.Stopwatch(); sw.Start(); CdbcConnection con = UtilCommon.getConnection(); string cmdQuery = "SELECT P.PRODUCT_CODE " + " , P.PRODUCT_NAME " + " , P.PRODUCT_PRICE " + " , P.CURRENCY_CODE " + " , P.PRODUCT_SUMMARY " + " , P.CATEGORY_CODE " + " , CA.CATEGORY_NAME " + " FROM PRODUCTS P " + " INNER JOIN CATEGORIES CA " + " ON P.CATEGORY_CODE = CA.CATEGORY_CODE " + " ORDER BY P.PRODUCT_CODE "; // Create the OracleCommand CdbcCommand cmd = new CdbcCommand(cmdQuery); cmd.Connection = con; cmd.CommandType = CommandType.Text; dataSetProducts1.PRODUCTS.Clear(); CdbcDataAdapter dataAdapter = new CdbcDataAdapter(cmd); try { dataAdapter.Fill(dataSetProducts1, dataSetProducts1.PRODUCTS.TableName); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) ; } cmd.Dispose(); sw.Stop(); this.Text = $"{sw.ElapsedMilliseconds} ms"; }
public static void DataAdapter_Fill_Sample() { Console.WriteLine(String.Format("{0} DataAdapter_Fill_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string queryStr = "SELECT :VAR1 AS COLUMN1 FROM DUAL"; CdbcCommand cmd = new CdbcCommand(queryStr, con); string guid = Guid.NewGuid().ToString(); CdbcParameter para = new CdbcParameter(":VAR1", CdbcOracleDbType.Varchar2); para.Direction = ParameterDirection.Input; para.Value = guid; cmd.Parameters.Add(para); try { CdbcDataAdapter adap = new CdbcDataAdapter(cmd); DataSet ds = new DataSet(); adap.Fill(ds); Console.WriteLine("--------------------------"); Console.WriteLine("Sql : " + queryStr); Console.WriteLine("Parameter : VAR1=" + guid); Console.WriteLine("--------------------------"); Console.WriteLine("Expected value:" + guid); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { Console.WriteLine("Actual value:" + ds.Tables[0].Rows[0][0]); } } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("--------------------------"); Console.WriteLine("End"); }
public static CdbcConnection getConnection() { CdbcConnection con = new CdbcConnection(); con.UserId = UtilCommon.userId; con.UserPassword = UtilCommon.userPassword; //You should encrypt the ApplicationId and ApplicationPsk to prevent leak. con.ApplicationId = ConfigurationManager.AppSettings["ApplicationId"]; con.ApplicationPsk = ConfigurationManager.AppSettings["ApplicationPsk"]; con.ConnectionString = ConfigurationManager.AppSettings["ConnectionString"]; con.DatabaseProduct = DatabaseProductType.Oracle; con.Compress = false; con.Encrypt = false; return(con); }
private void GetProductList() { CdbcConnection con = UtilCommon.getConnection(); string cmdQuery = "SELECT P.PRODUCT_CODE " + " , P.PRODUCT_NAME " + " , P.PRODUCT_PRICE " + " , P.CURRENCY_CODE " + " , P.PRODUCT_SUMMARY " + " , P.CATEGORY_CODE " + " , C.CATEGORY_NAME " + " FROM PRODUCTS P " + " INNER JOIN CATEGORIES C " + " ON P.CATEGORY_CODE = C.CATEGORY_CODE " + " ORDER BY P.PRODUCT_CODE "; // Create the OracleCommand CdbcCommand cmd = new CdbcCommand(cmdQuery); cmd.Connection = con; cmd.CommandType = CommandType.Text; CdbcDataAdapter dataAdapter = new CdbcDataAdapter(cmd); DataSet dsProduct = new DataSet(); try { dataAdapter.Fill(dsProduct, "PRODUCTS"); ListView1.DataSource = dsProduct; ListView1.DataMember = "PRODUCTS"; ListView1.DataBind(); } catch (Exception ex) { Console.WriteLine(ex.Message); //Please treat the exception here lblError.Text = "Error:" + ex.Message; lblInfo.Visible = true; lblError.Visible = true; } }
public static void DataAdapter_FillSchema_Sample() { Console.WriteLine(String.Format("{0} DataAdapter_FillSchema_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string queryStr = "SELECT * FROM USER_TABLES"; CdbcCommand cmd = new CdbcCommand(queryStr, con); CdbcDataAdapter adap = new CdbcDataAdapter(cmd); DataTable dt1 = new DataTable(); Console.WriteLine("--------------------------"); Console.WriteLine("Sql : " + queryStr); Console.WriteLine("--------------------------"); Console.WriteLine("Result:"); try { DataTable dt2 = adap.FillSchema(dt1, SchemaType.Mapped); for (int iColumn = 0; iColumn < dt1.Columns.Count; iColumn++) { Console.WriteLine(String.Format("ColumnName:{0} DataType:{1} MaxLength:{2}", dt1.Columns[iColumn].ColumnName, dt1.Columns[iColumn].DataType, dt1.Columns[iColumn].MaxLength)); } for (int iColumn = 0; iColumn < dt2.Columns.Count; iColumn++) { Console.WriteLine(String.Format("ColumnName:{0} DataType:{1} MaxLength:{2}", dt2.Columns[iColumn].ColumnName, dt2.Columns[iColumn].DataType, dt2.Columns[iColumn].MaxLength)); } } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("End"); }
private void getCategoryCurrencyList() { CdbcConnection con = UtilCommon.getConnection(); CdbcDataAdapter dataAdapter = new CdbcDataAdapter(); //CATEGORIES string cmdQuery = "SELECT C.CATEGORY_CODE " + " , C.CATEGORY_NAME " + " FROM CATEGORIES C " + " ORDER BY C.CATEGORY_CODE"; CdbcCommand cmd = new CdbcCommand(cmdQuery, con); dataAdapter.AddMultiSelectCommand(cmd, dsCategoriesCurrencies.CATEGORIES.TableName); //CURRENCIES cmdQuery = "SELECT C.CURRENCY_CODE " + " , C.CURRENCY_SYMBOL " + " FROM CURRENCIES C " + " ORDER BY C.CURRENCY_CODE"; cmd = new CdbcCommand(cmdQuery, con); dataAdapter.AddMultiSelectCommand(cmd, dsCategoriesCurrencies.CURRENCIES.TableName); try { dsCategoriesCurrencies = new DataSetProducts(); int[] fillResult = dataAdapter.MultiFill(dsCategoriesCurrencies); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) ; } }
public static void Command_ExecuteScalar_Sample() { Console.WriteLine(String.Format("{0} Command_ExecuteScalar_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string queryStr = @"SELECT :VAR1 AS A FROM DUAL"; CdbcCommand cmd = new CdbcCommand(queryStr, con); string guid = Guid.NewGuid().ToString(); CdbcParameter para = new CdbcParameter(":VAR1", CdbcOracleDbType.Varchar2); para.Value = guid; cmd.Parameters.Add(para); Console.WriteLine("--------------------------"); Console.WriteLine("Sql : " + queryStr); Console.WriteLine("Parameter : VAR1=" + guid); Console.WriteLine("--------------------------"); try { object o = cmd.ExecuteScalar(); Console.WriteLine("Expected value:" + guid); Console.WriteLine("Actual value:" + o.ToString()); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("--------------------------"); Console.WriteLine("End"); }
public static void DataAdapter_Update_Sample() { Console.WriteLine(String.Format("{0} DataAdapter_Update_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); Console.WriteLine("This sample will show you how to use CdbcDataAdapter.update insert ,update and delete data."); string guid = Guid.NewGuid().ToString(); CdbcConnection con = UtilCommon.getConnection(databaseProductType); try { //Sample 1 :Add new row (insert) Console.WriteLine("--------------------------"); Console.WriteLine("Sample 1 : Insert a record into table CODE_SAMPLE"); Console.WriteLine("--------------------------"); string queryStrInsert = @"SELECT VAR1,NUM1,DATE1,CLOB1,BLOB1 FROM CODE_SAMPLE WHERE VAR1=:VAR1"; CdbcCommand cmdInsert = new CdbcCommand(queryStrInsert, con); CdbcDataAdapter adapInsert = new CdbcDataAdapter(cmdInsert); CdbcCommandBuilder cb = new CdbcCommandBuilder(adapInsert); DataTable dt1 = new DataTable(); adapInsert.FillSchema(dt1, SchemaType.Mapped); DataRow dr1 = dt1.NewRow(); dr1["VAR1"] = guid; dr1["NUM1"] = DateTime.Now.Second; dr1["DATE1"] = DateTime.Now; dr1["CLOB1"] = "testclob"; // dr1["BLOB1"] = System.IO.File.ReadAllBytes(@"your file path"); dt1.Rows.Add(dr1); int i = adapInsert.Update(dt1); Console.WriteLine(String.Format("{0} Line(s) inserted.", i)); //Sample 2 :Edit row data (update) Console.WriteLine("--------------------------"); Console.WriteLine("Sample 2 : update the record we inserted before."); Console.WriteLine("--------------------------"); string queryStrUpdate = @"SELECT VAR1,NUM1,DATE1,CLOB1,BLOB1 FROM CODE_SAMPLE WHERE VAR1=:VAR1"; CdbcCommand cmdUpdate = new CdbcCommand(queryStrUpdate, con); CdbcParameter para = new CdbcParameter(":VAR1", CdbcOracleDbType.Varchar2); para.Value = guid; cmdUpdate.Parameters.Add(para); CdbcDataAdapter adapUpdate = new CdbcDataAdapter(cmdUpdate); CdbcCommandBuilder cbUpdate = new CdbcCommandBuilder(adapUpdate); DataSet dsUpdate = new DataSet(); adapUpdate.Fill(dsUpdate); dsUpdate.Tables[0].Rows[0]["NUM1"] = DateTime.Now.Second; dsUpdate.Tables[0].Rows[0]["DATE1"] = DateTime.Now; i = adapUpdate.Update(dsUpdate, dsUpdate.Tables[0].TableName); Console.WriteLine(String.Format("{0} Line(s) updated.", i)); //Sample 3 :Delete row (delete) Console.WriteLine("--------------------------"); Console.WriteLine("Sample 3 : Delete the record we inserted before."); Console.WriteLine("--------------------------"); DataSet dsDelete = new DataSet(); adapUpdate.Fill(dsDelete); dsDelete.Tables[0].Rows[0].Delete(); i = adapUpdate.Update(dsDelete.Tables[0]); //The following code will have same result. //i = adapUpdate.Update(dsDelete, dsDelete.Tables[0].TableName); Console.WriteLine(String.Format("{0} Line(s) Deleted.", i)); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("end"); }
public static void Dapper_ExecuteMany_Sample() { Console.WriteLine(String.Format("{0} Dapper_ExecuteMany_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string sqlInsert = @"INSERT INTO student(studentid, studentname, birthdate, photo) VALUES (:studentid, :studentname, :birthdate, :photo)"; string sqlUpdate = @"UPDATE student SET studentname=:studentname, birthdate=:birthdate, photo=:photo WHERE studentid=:studentid"; string sqlDelete = @"DELETE FROM student WHERE studentid in (:studentid1,:studentid2)"; string sqlSelect = @"SELECT studentid, studentname, birthdate, photo FROM student ORDER BY studentid"; int studentid1 = new System.Random(DateTime.Now.Millisecond).Next(1000); int studentid2 = studentid1 + 1; byte[] photo1 = null; //You can use the following code to insert the photo. //byte[] photo1=System.IO.File.ReadAllBytes(@"photo file path"); var student1 = new Student() { studentid = studentid1, studentname = "Tom Inserted", birthdate = new DateTime(2004, 1, 21), photo = photo1 }; var student2 = new Student() { studentid = studentid2, studentname = "Jack Inserted", birthdate = new DateTime(2004, 2, 22), photo = photo1 }; try { //Insert int i = con.Execute(sqlInsert, new[] { student1, student2 } ); Console.WriteLine("--------------------------"); Console.WriteLine("Insert Sql : " + sqlInsert); Console.WriteLine("student1 parameter: " + student1.ToString()); Console.WriteLine("student2 parameter: " + student2.ToString()); Console.WriteLine(String.Format("{0} Line(s) inserted.", i)); List <Student> studentDb = (List <Student>)con.Query <Student>(sqlSelect); foreach (Student student in studentDb) { Console.WriteLine("Student inserted result: " + student.ToString()); } //update //We will change the student's name and birthday then update database. student1.studentname = "Tom Updated"; student1.birthdate = new DateTime(2004, 3, 21); student2.studentname = "Jack Updated"; student2.birthdate = new DateTime(2004, 4, 21); i = con.Execute(sqlUpdate, new[] { student1, student2 } ); Console.WriteLine("--------------------------"); Console.WriteLine("Update Sql : " + sqlUpdate); Console.WriteLine("student1 parameter: " + student1.ToString()); Console.WriteLine("student2 parameter: " + student2.ToString()); Console.WriteLine(String.Format("{0} Line(s) updated.", i)); //update result studentDb = (List <Student>)con.Query <Student>(sqlSelect); foreach (Student student in studentDb) { Console.WriteLine("Student updated result: " + student.ToString()); } //delete i = con.Execute(sqlDelete, new { studentid1 = student1.studentid, studentid2 = student2.studentid }); Console.WriteLine("--------------------------"); Console.WriteLine("Delete Sql : " + sqlDelete); Console.WriteLine(String.Format("{0} Line(s) deleted.", i)); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("--------------------------"); Console.WriteLine("End"); }
public static void Command_ExecuteNonQuery_Sample() { Console.WriteLine(String.Format("{0} Command_ExecuteNonQuery_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string queryStr = @"INSERT INTO CODE_SAMPLE(VAR1, NUM1, DATE1, CLOB1, BLOB1) VALUES (:VAR1, :NUM1, :DATE1, :CLOB1, :BLOB1)"; CdbcCommand cmd = new CdbcCommand(queryStr, con); string guid = Guid.NewGuid().ToString(); CdbcParameter para = new CdbcParameter(":VAR1", CdbcOracleDbType.Varchar2); para.Value = guid; cmd.Parameters.Add(para); para = new CdbcParameter(":NUM1", CdbcOracleDbType.Decimal); para.Value = DateTime.Now.Second; cmd.Parameters.Add(para); para = new CdbcParameter(":DATE1", CdbcOracleDbType.Date); para.Value = DateTime.Now; cmd.Parameters.Add(para); para = new CdbcParameter(":CLOB1", CdbcOracleDbType.Clob); para.Value = DateTime.Now.Second; cmd.Parameters.Add(para); para = new CdbcParameter(":BLOB1", CdbcOracleDbType.Blob); //para.Value = System.IO.File.ReadAllBytes(@"your file path"); cmd.Parameters.Add(para); Console.WriteLine("--------------------------"); Console.WriteLine("Sample 1 : Insert a record into table CODE_SAMPLE"); Console.WriteLine("Sql : " + queryStr); try { int i = cmd.ExecuteNonQuery(); Console.WriteLine(String.Format("{0} Line(s) inserted.", i)); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } string queryStrDelete = @"DELETE FROM CODE_SAMPLE WHERE VAR1=:VAR1"; CdbcCommand cmdDelete = new CdbcCommand(queryStrDelete, con); para = new CdbcParameter(":VAR1", CdbcOracleDbType.Varchar2); para.Value = guid; cmdDelete.Parameters.Add(para); Console.WriteLine("--------------------------"); Console.WriteLine("Sample 2 : Delete the record we inserted before."); Console.WriteLine("Sql : " + queryStrDelete); try { int i = cmdDelete.ExecuteNonQuery(); Console.WriteLine(String.Format("{0} Line(s) deleted.", i)); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("--------------------------"); Console.WriteLine("End"); }
public static void CommandCollection_ExecuteMultiQuery_Sample() { Console.WriteLine(String.Format("{0} CommandCollection_ExecuteMultiQuery_Sample", databaseProductType.ToString())); Console.WriteLine("Start"); Console.WriteLine("--------------------------"); Console.WriteLine("CommandCollection.ExecuteMultiQuery is original Method of CdbcCommandCollection."); Console.WriteLine("It can execute multi command in same transaction."); Console.WriteLine("It is designed to improve performance and Data Concurrency and Consistency"); Console.WriteLine("--------------------------"); Console.WriteLine("This sample will insert 3 records and than update one of the record."); Console.WriteLine("--------------------------"); CdbcConnection con = UtilCommon.getConnection(databaseProductType); string queryStr1 = @"INSERT INTO CODE_SAMPLE(VAR1 , DATE1 ) VALUES (:VAR1, SYSDATE)"; CdbcCommand cmd1 = new CdbcCommand(queryStr1, con); string[] arrParas = new string[3]; for (int i = 0; i < arrParas.Length; i++) { arrParas[i] = Guid.NewGuid().ToString(); } cmd1.ArrayBindCount = 3; CdbcParameter prm = new CdbcParameter("VAR1", CdbcOracleDbType.Varchar2); prm.Value = arrParas; cmd1.Parameters.Add(prm); string queryStr2 = @"UPDATE CODE_SAMPLE SET DATE1 = DATE1+1 WHERE VAR1=:VAR1"; CdbcCommand cmd2 = new CdbcCommand(queryStr2, con); prm = new CdbcParameter("VAR1", CdbcOracleDbType.Varchar2); prm.Value = arrParas[0]; cmd2.Parameters.Add(prm); Console.WriteLine("--------------------------"); Console.WriteLine("SQL 1 :" + queryStr1); Console.WriteLine("Para 1 :"); for (int i = 0; i < arrParas.Length; i++) { Console.WriteLine(arrParas[i]); } Console.WriteLine(""); Console.WriteLine("SQL 2 :" + queryStr2); Console.WriteLine("--------------------------"); try { CdbcCommandCollection cmdCollection = new CdbcCommandCollection(); cmdCollection.Add(cmd1); cmdCollection.Add(cmd2); cmdCollection.ExecuteMultiQuery(); for (int iCmd = 0; iCmd < cmdCollection.Count; iCmd++) { Console.WriteLine(String.Format("Command {0} Result : {1} ", iCmd, cmdCollection.ExecuteNonQueryResult[iCmd].ToString())); } } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } //Confirm Data Console.WriteLine("---Confirm Data-----------------------"); string queryStrSelect = @"SELECT VAR1, DATE1 FROM CODE_SAMPLE WHERE VAR1 IN (:VAR1_0 ,:VAR1_1,:VAR1_2) "; CdbcCommand cmdSelect = new CdbcCommand(queryStrSelect, con); for (int i = 0; i < arrParas.Length; i++) { prm = new CdbcParameter("VAR1_" + i.ToString(), CdbcOracleDbType.Varchar2); prm.Value = arrParas[i]; cmdSelect.Parameters.Add(prm); } try { DbDataReader reader = cmdSelect.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Console.WriteLine(String.Format("{0} = {1}", reader.GetName(i), reader.GetValue(i).ToString())); } } } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } //Clear Data Console.WriteLine("---Clear Data-----------------------"); string queryStrDelete = @"DELETE FROM CODE_SAMPLE WHERE VAR1=:VAR1"; CdbcCommand cmdDelete = new CdbcCommand(queryStrDelete, con); cmdDelete.ArrayBindCount = 3; prm = new CdbcParameter("VAR1", CdbcOracleDbType.Varchar2); prm.Value = arrParas; cmdDelete.Parameters.Add(prm); try { int i = cmdDelete.ExecuteNonQuery(); Console.WriteLine(String.Format("{0} Line(s) Deleted.", i)); } catch (Exception ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.Message); } Console.WriteLine("--------------------------"); Console.WriteLine("End"); }
private bool SaveData() { CdbcConnection con = UtilCommon.getConnection(); string cmdQuery; if (isNew) { cmdQuery = @"INSERT INTO PRODUCTS(" + " PRODUCT_NAME" + " , PRODUCT_PRICE" + " , CURRENCY_CODE" + " , PRODUCT_SUMMARY" + " , CATEGORY_CODE" + " , PRODUCT_IMAGE" + " , RELEASE_DATE" + " , PRODUCT_CODE" + " ) " + "VALUES (" + " :PRODUCT_NAME" + " , :PRODUCT_PRICE" + " , :CURRENCY_CODE" + " , :PRODUCT_SUMMARY" + " , :CATEGORY_CODE" + " , :PRODUCT_IMAGE" + " , :RELEASE_DATE" + " , :PRODUCT_CODE" + ")"; } else { cmdQuery = @"UPDATE PRODUCTS " + " SET PRODUCT_NAME = :PRODUCT_NAME" + " , PRODUCT_PRICE = :PRODUCT_PRICE" + " , CURRENCY_CODE = :CURRENCY_CODE" + " , PRODUCT_SUMMARY = :PRODUCT_SUMMARY" + " , CATEGORY_CODE = :CATEGORY_CODE" + " , PRODUCT_IMAGE = :PRODUCT_IMAGE" + " , RELEASE_DATE = :RELEASE_DATE" + " WHERE PRODUCT_CODE = :PRODUCT_CODE"; } // Create the OracleCommand CdbcCommand cmd = new CdbcCommand(cmdQuery, con); CdbcParameter para = new CdbcParameter(":PRODUCT_NAME", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); para.Value = txtProductName.Text; cmd.Parameters.Add(para); para = new CdbcParameter(":PRODUCT_PRICE", Cdbc.Common.Data.Type.CdbcOracleDbType.Decimal); int iPrice; if (Int32.TryParse(txtPrice.Text, out iPrice)) { para.Value = iPrice; } else { MessageBox.Show("Invalid price.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) ; return(false); } cmd.Parameters.Add(para); para = new CdbcParameter(":CURRENCY_CODE", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); para.Value = cbCurrency.SelectedValue; cmd.Parameters.Add(para); para = new CdbcParameter(":PRODUCT_SUMMARY", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); para.Value = txtSummary.Text; cmd.Parameters.Add(para); para = new CdbcParameter(":CATEGORY_CODE", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); para.Value = cbCategory.SelectedValue; cmd.Parameters.Add(para); para = new CdbcParameter(":PRODUCT_IMAGE", Cdbc.Common.Data.Type.CdbcOracleDbType.Blob); para.Value = UtilCommon.ImageToByteArray(pictureBox1.Image); cmd.Parameters.Add(para); para = new CdbcParameter(":RELEASE_DATE", Cdbc.Common.Data.Type.CdbcOracleDbType.Date); para.Value = new DateTime(dtReleaseDate.Value.Year, dtReleaseDate.Value.Month, dtReleaseDate.Value.Day); cmd.Parameters.Add(para); para = new CdbcParameter(":PRODUCT_CODE", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); para.Value = ProductCode; cmd.Parameters.Add(para); //if (!isNew) //{ // para = new CdbcParameter(":ISBN2", Cdbc.Common.Data.Type.CdbcOracleDbType.Varchar2); // para.Value = txtISBN.Text; // cmd.Parameters.Add(para); //} try { cmd.ExecuteNonQuery(); return(true); } catch (Exception Ex) { MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) ; return(false); } }