Beispiel #1
0
        public static void Dapper_Execute_Sample()
        {
            Console.WriteLine(String.Format("{0} Dapper_Execute_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=:studentid";
            string         sqlSelect = @"SELECT studentid, studentname, birthdate, photo FROM student WHERE studentid=:studentid";

            int studentid1 = new System.Random(DateTime.Now.Millisecond).Next(1000);

            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", birthdate = new DateTime(2004, 11, 24), photo = photo1
            };

            try
            {
                //Insert
                int i = con.Execute(sqlInsert, student1);

                Console.WriteLine("--------------------------");
                Console.WriteLine("Sql : " + sqlInsert);
                Console.WriteLine("student parameter: " + student1.ToString());
                Console.WriteLine(String.Format("{0} Line(s) inserted.", i));

                //Insert result
                var studentDb = con.QuerySingle <Student>(sqlSelect, student1);
                Console.WriteLine("student inserted: " + studentDb.ToString());

                //update
                //We will change the student's name and birthday then update database.
                student1.studentname = "Tom2";
                student1.birthdate   = new DateTime(2004, 6, 11);
                i = con.Execute(sqlUpdate, student1);
                Console.WriteLine(String.Format("{0} Line(s) updated.", i));

                //update result
                studentDb = con.QuerySingle <Student>(sqlSelect, student1);
                Console.WriteLine("student updated: " + studentDb.ToString());

                //delete
                i = con.Execute(sqlDelete, student1);
                Console.WriteLine(String.Format("{0} Line(s) deleted.", i));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception:");
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("--------------------------");
            Console.WriteLine("End");
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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");
        }