DataSet을 이용한 Data 추가 예제

|

/*

DataBase

Address Table

id number,

name varchar 20

addr varchar 40

*/ 

 

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;;;


namespace Tran_01
{
    public class OleDbParamTest
    {
        public static void Main()
        {
            OracleConnection conn = new OracleConnection();
            try
            {
                conn.ConnectionString =
                              "Data Source=XE;" +
                              "User id=;" +
                              "Password=;";
                conn.Open();
                Console.WriteLine(conn.State);
                Console.WriteLine(conn.ServerVersion);
                Console.WriteLine(conn.Site);
                Console.WriteLine("nn");
                OracleDataAdapter Oadt = new OracleDataAdapter("select * from Address", conn);
                DataSet ds = new DataSet("MyAddress");
                Oadt.Fill(ds, "Address");
                conn.Close();
                DataTable table = ds.Tables[0];
                Console.WriteLine("Row Count : " + table.Columns.Count);
                Print(table);
                DataRow row = table.NewRow();
                row["id"] = "8";
                row["name"] = "Uncle";
                row["addr"] = "Ameria";
                table.Rows.Add(row);

                conn.Open();
                OracleCommand Ocmd = new OracleCommand();
                string strSql = "Insert into address(id,name,addr) values(:pid,:pname,:paddr)";
                Oadt.InsertCommand = new OracleCommand(strSql, conn);
                Oadt.InsertCommand.Parameters.Add("pid", OracleType.Number, 0, "id");
                Oadt.InsertCommand.Parameters.Add("pname", OracleType.VarChar, 20, "name");
                Oadt.InsertCommand.Parameters.Add("paddr", OracleType.VarChar, 40, "addr");

                Oadt.Update(ds, "Address");
                conn.Close();
                Console.WriteLine("Insert that ..");
                Print(table);
            }
            catch (OracleException ErrMssg)
            {
                Console.WriteLine(ErrMssg.Message);
                Console.WriteLine("에러 확인");
            }
            finally
            {
                conn.Close();
            }
        }
        public static void Print(DataTable table)
        {
            DataRowCollection rows = table.Rows;
            foreach (DataRow dr in rows)
            {
                for (int i = 0; i < table.Columns.Count; i++)
                    Console.Write(dr[i] + "t");
                Console.WriteLine();
            }
        }
    }
}

And