using System;
using System.Data.OleDb;
using System.Data;
class DataReaderSample
{
public static void Main()
{
string ConStr = ("Provider=MSDAORA;data source=oraclejava;User ID=scott;Password=tiger");
OleDbConnection Conn = new OleDbConnection(ConStr);
Conn.Open();
//작업을 위한 Adapter를 하나 만든다.
OleDbDataAdapter adapter = new OleDbDataAdapter("select empno, ename from emp", Conn);
DataSet ds = new DataSet();
adapter.Fill(ds,"EMP");
//EMP Table의 내용을 화면에 뿌리자...
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
Console.WriteLine();
Console.WriteLine(" 총 {0} 건 입니다." , ds.Tables["EMP"].Rows.Count);
//데이터를 변경
ds.Tables["EMP"].Rows[0]["ename"] = "홍길동";
/*Update Method를 호출 하기 위해 CommandBuilder를 만들자.
하나의 테이블을 갱신하는 간단한 경우 라면 변경용 Query를 사용 할 필요가 없다.
단지 자동적으로 적절한 SQL을 만들고 그것을 관련된 DataAdapter에 연관 시키는
CommandBuilder 개체를 사용하면 된다. CommandBuilder에 DataAdapter를 인자로 주었는데
이렇게 하면 CommandBuilder가 생성될때 생성자에 의해 적절한 SQL 명령문이 만들어지며
그것이 DataAdapter에 연경 된다. */
OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(adapter);
/* Update 메소드는 DataTable의 행들 중 변경된 데이터를 데이터베이스에 적용 한다.
* Rows 컬렉션안의 DataRow 개체에는 RowState 라는 속성이 있는데 이 속성은
* 그 행의 삭제, 추가, 수정 여부를 의미한다.
*/
adapter.Update(ds, "EMP");
//변경 후
Console.WriteLine();
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
DataRow row = ds.Tables["EMP"].NewRow();
row["empno"] = "8888";
row["ename"] = "9길동";
ds.Tables["EMP"].Rows.Add(row);
adapter.Update(ds, "EMP");
//추가 후
Console.WriteLine();
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
Console.WriteLine(" 총 {0} 건 입니다." , ds.Tables["EMP"].Rows.Count);
}
}
=================================================
[결과]
EMPNO : 7369, ENAME : 홍길동
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
총 16 건 입니다.
EMPNO : 7369, ENAME : 오라클자바
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
EMPNO : 7369, ENAME : 오라클자바
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
EMPNO : 7777, ENAME : 9길동
총 17 건 입니다.
Press any key to continue
using System.Data.OleDb;
using System.Data;
class DataReaderSample
{
public static void Main()
{
string ConStr = ("Provider=MSDAORA;data source=oraclejava;User ID=scott;Password=tiger");
OleDbConnection Conn = new OleDbConnection(ConStr);
Conn.Open();
//작업을 위한 Adapter를 하나 만든다.
OleDbDataAdapter adapter = new OleDbDataAdapter("select empno, ename from emp", Conn);
DataSet ds = new DataSet();
adapter.Fill(ds,"EMP");
//EMP Table의 내용을 화면에 뿌리자...
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
Console.WriteLine();
Console.WriteLine(" 총 {0} 건 입니다." , ds.Tables["EMP"].Rows.Count);
//데이터를 변경
ds.Tables["EMP"].Rows[0]["ename"] = "홍길동";
/*Update Method를 호출 하기 위해 CommandBuilder를 만들자.
하나의 테이블을 갱신하는 간단한 경우 라면 변경용 Query를 사용 할 필요가 없다.
단지 자동적으로 적절한 SQL을 만들고 그것을 관련된 DataAdapter에 연관 시키는
CommandBuilder 개체를 사용하면 된다. CommandBuilder에 DataAdapter를 인자로 주었는데
이렇게 하면 CommandBuilder가 생성될때 생성자에 의해 적절한 SQL 명령문이 만들어지며
그것이 DataAdapter에 연경 된다. */
OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(adapter);
/* Update 메소드는 DataTable의 행들 중 변경된 데이터를 데이터베이스에 적용 한다.
* Rows 컬렉션안의 DataRow 개체에는 RowState 라는 속성이 있는데 이 속성은
* 그 행의 삭제, 추가, 수정 여부를 의미한다.
*/
adapter.Update(ds, "EMP");
//변경 후
Console.WriteLine();
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
DataRow row = ds.Tables["EMP"].NewRow();
row["empno"] = "8888";
row["ename"] = "9길동";
ds.Tables["EMP"].Rows.Add(row);
adapter.Update(ds, "EMP");
//추가 후
Console.WriteLine();
foreach (DataRow r in ds.Tables["EMP"].Rows)
{
Console.WriteLine("EMPNO : {0}, ENAME : {1}", r["empno"], r["ename"]);
}
Console.WriteLine(" 총 {0} 건 입니다." , ds.Tables["EMP"].Rows.Count);
}
}
=================================================
[결과]
EMPNO : 7369, ENAME : 홍길동
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
총 16 건 입니다.
EMPNO : 7369, ENAME : 오라클자바
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
EMPNO : 7369, ENAME : 오라클자바
EMPNO : 7499, ENAME : ALLEN
EMPNO : 7521, ENAME : WARD
EMPNO : 7566, ENAME : JONES
EMPNO : 7654, ENAME : MARTIN
EMPNO : 7698, ENAME : BLAKE
EMPNO : 7782, ENAME : CLARK
EMPNO : 7788, ENAME : SCOTT
EMPNO : 7839, ENAME : KING
EMPNO : 7844, ENAME : TURNER
EMPNO : 7876, ENAME : ADAMS
EMPNO : 7900, ENAME : JAMES
EMPNO : 7902, ENAME : FORD
EMPNO : 7934, ENAME : MILLER
EMPNO : 9999, ENAME : 9길동
EMPNO : 8888, ENAME : 9길동
EMPNO : 7777, ENAME : 9길동
총 17 건 입니다.
Press any key to continue
오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(7/21)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/21)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/21)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/28)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/28)[기업100%환급]안드로이드개발자과정
(7/28)[기업100%환급]SQL기초에서 Schema Object까지
평일야간(19:00~21:50) 개강
(7/16)Spring3.X, MyBatis, Hibernate실무과정
(7/21)웹퍼블리싱 마스터
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/22)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/24)SQL기초에서실무까지
(7/29)안드로이드개발자과정
(8/05)MyBatis3.X, Hibernate4.X ORM실무과정
주말(10:00~17:50) 개강
(7/19)JSP,Ajax,jQUERY,Spring,MyBatis,Hibernate속성과정
(7/19)SQL초보에서 Schema Object까지
(7/19)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
(7/26)개발자를위한PLSQL,SQL튜닝,힌트
(8/02)MyBatis3.X, Hibernate4.X ORM실무과정
(8/09)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(8/23)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
주말저녁(18:30~22:20) 개강
(8/02)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
www.oraclejavacommunity.com
평일주간(9:30~18:10) 개강
(7/21)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
(7/21)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/21)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/28)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/28)[기업100%환급]안드로이드개발자과정
(7/28)[기업100%환급]SQL기초에서 Schema Object까지
평일야간(19:00~21:50) 개강
(7/16)Spring3.X, MyBatis, Hibernate실무과정
(7/21)웹퍼블리싱 마스터
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/22)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/24)SQL기초에서실무까지
(7/29)안드로이드개발자과정
(8/05)MyBatis3.X, Hibernate4.X ORM실무과정
주말(10:00~17:50) 개강
(7/19)JSP,Ajax,jQUERY,Spring,MyBatis,Hibernate속성과정
(7/19)SQL초보에서 Schema Object까지
(7/19)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
(7/26)개발자를위한PLSQL,SQL튜닝,힌트
(8/02)MyBatis3.X, Hibernate4.X ORM실무과정
(8/09)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(8/23)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)
주말저녁(18:30~22:20) 개강
(8/02)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지
댓글 없음:
댓글 쓰기