C#에서 Oracle을 엑세스하기 위해서는 .NET에서 제공하는 System.Data.OracleClient.dll를 참조에 추가해야 한다.
우선, Oracle의 데이터를 사용하기 위해서는 Oracle의 데이터베이스에 연결을 해야한다.
OracleConnection 클래스
데이터베이스에 대한 열린 연결을 나타낸다. 이 클래스는 상속될 수 없다.
OracleConnection 개체는 범위에서 벗어나도 열려 있는 상태로 유지된다.
즉, 항상 Close 또는 Dispose를 호출하거나 Using문 내에서 OracleConnection 개체를 사용하여 닫아줘야 한다.
OracleCommand 클래스
데이터베이스에서 실행한 SQL문 또는 저장 프로시저를 나타낸다. 이 클래스는 상속될 수 없다.
항목 | 설명 |
ExecuteReader | 행을 반환하는 명령을 실행한다. |
ExecuteOracleNonQuery | Connection에 대해 SQL문을 실행하고 영향 받는 행의 수를 반환한다. |
ExecuteNonQuery | SQL INSERT, DELETE, UPDATE 및 SET 문과 같은 명령을 실행한다. |
ExrcuteScalar | 데이터베이스에서 집계 값과 같은 단일 값을 .NET Framework 데이터 형식으로 검색한다. |
ExecuteOracleScalar | 데이터베이스에서 집계 값과 같은 단일 값을 Oracle 고유 데이터 형식으로 검색한다. |
1) ExecuteReader를 이용한 데이터베이스의 데이터 읽기 예제
public void ReadData(string connectionString)
{
string queryString = "SELECT EEMPNO, DEPTNO FROM TABLE";
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString, connection);
connection.Open();
OracleDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0) + ',' + reader.GetInt32(1));
}
}
finally {
reader.Close();
}
}
}
2) ExecuteNonQuery를 이용한 쿼리 명령문 실행 예제
public void InsertRow(string connectionString)
{
string queryString = "INSERT INTO DEPT(DEPTNO, DNAME,LOC) VALUES (50, 'THCHNOLOGY', 'DENVER')";
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString);
command.Connection = connection;
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
'프로그램 > .NET' 카테고리의 다른 글
[ASP.NET] Html.ActionLink에 의해 생성된 하이퍼링크에 style 입히기 (0) | 2021.05.06 |
---|---|
[C#] from 절 사용하기 (0) | 2021.03.12 |
[C#] foreach문 사용하기 (0) | 2021.03.12 |
[C#] #region 사용하기 (0) | 2021.03.11 |