'MS/C#'에 해당되는 글 24건

  1. 2009.01.24 종류별 Oracle 연동
  2. 2009.01.24 DB Data Select(Oracle)
  3. 2009.01.24 DataSet을 이용한 Data 추가 예제

종류별 Oracle 연동

|

Oledb &ODBC

string conStr = "Provider = MSDAORA" + //드라이버

                     "Data Source=XE;" + //서버

                     "User id = " // Oracle ID

                     "Password =" //Oracle Password

 

OracleClient //드라이버만 제외된 상태

string conStr = "Data Source=XE;" + //서버

                     "User id = " // Oracle ID

                     "Password =" //Oracle Password

(Namespace System.Data.OracleClient 추가)

 

특이점 : 보통 MSSQL 또는 MySql에서 Paramater인자로 @을 사용

            그러나 Oracle에서는 :을 사용한다

And

DB Data Select(Oracle)

|

using System;
using System.Collections;
using System.Text;
using System.Data;
using System.Data.OracleClient;


namespace Tran_01
{
    public class OleDbParamTest
    {
        public static void Main()
        {
            string conStr = "Data Source = XE;" +
                "User id = ;" +
                "password = ";
            string Query = "Select * from address where addr = :addr1 or addr = :addr2";
            try
            {
                OracleConnection Oconn = new OracleConnection(conStr);
                Oconn.Open();
                Console.WriteLine("DB 열림");
                OracleCommand cmd = new OracleCommand(Query, Oconn);
                cmd.Parameters.Add("addr1", OracleType.VarChar);
                cmd.Parameters.Add("addr2", OracleType.VarChar);
                cmd.Parameters["addr1"].Value = "seuol";
                cmd.Parameters["addr2"].Value = "Ameria";
                OracleDataReader Odr = cmd.ExecuteReader();
                while (Odr.Read())
                {
                    Console.Write(Odr.GetFloat(0) + "t");
                    Console.Write(Odr.GetString(1) + "t");
                    Console.Write(Odr.GetString(2) + "t");
                    Console.WriteLine();
                }
                Odr.Close();
                Oconn.Close();
            }
            catch (OracleException ErrMsg)
            {
                Console.WriteLine(ErrMsg.Message);
                Console.WriteLine("에러");
            }
        }
    }
}

 

/*

역으로 집어넣는것은 Command.ExecuteNonQuery() 함수 사용 

*/
And

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
prev | 1 | ··· | 5 | 6 | 7 | 8 | next