using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlServerCe; // SQL Server Compact 3.5 사용시 추가하시오
namespace Genealogy
{
public class DB_Management
{
#region DB 전역변수 선언
private string connentionString = @"Data Source=C:\Documents and Settings\Administrator\My Documents\DB.SDF;" +
"Password=1234;";
private SqlCeConnection con = null;
private SqlCeCommand cmd = null;
private SqlCeTransaction trn = null;
public Boolean ExecuteQueryFlag;
#endregion
#region 생성자(초기화
public DB_Management()
{
// 데이터베이스 연결
SqlCeConnection con = new SqlCeConnection(connentionString);
// 데이터베이스 커맨드 생성
SqlCeCommand cmd = new SqlCeCommand();
// 트랜잭션 생성
SqlCeTransaction trn = con.BeginTransaction();
ExecuteQueryFlag = false;
}
#endregion
#region DB 연결
public void DB_Connection()
{
con.Open();
}
#endregion
#region Command Connection
private void CommConnection(string Commandtext)
{
// 커맨드에 커넥션을 연결
cmd.Connection = con;
cmd.Transaction = trn;
// 쿼리 생성 : Insert 쿼리
cmd.CommandText = Commandtext;
// 쿼리 실행
cmd.ExecuteNonQuery();
}
#endregion
#region Insert
public void DB_Record_Insert(string TableID, string RecordName)
{
string InsertRecordName = "INSERT INTO" + TableID + "VALUES('" +
RecordName + "')";
CommConnection(InsertRecordName);
if(ExecuteQueryFlag == true)
{
// 커밋
trn.Commit();
}
else
{
// 롤백
trn.Rollback();
}
con.Close();
}
#endregion
#region Select
public void DB_Record_Select(int Indexnumber, params string[] args)
{
string SelectRecordName = string.Empty;
if (Indexnumber < 0)
{
// select 쿼리로 변경
SelectRecordName = "SELECT * FROM" + args[0];
}
con.Close();
}
#endregion
}
}
비번은 마음에 드는걸로 바꾸면 될듯 하다.
commit과 rollback이 되기때문에 compact db를 자주 사용하는 편이다. 꽤 쓸만하다.
'객체지향언어 > C#' 카테고리의 다른 글
Linq 공부 (0) | 2009.11.26 |
---|---|
IPC 통신기법 (channel을 통한 IPC 통신방법) (0) | 2009.11.25 |
IPC 통신기법 (리모팅을 통한 방법1 TCP이용) (0) | 2009.11.25 |
esCapeCheck 때문에 만들어본 것인데... (0) | 2009.11.25 |
C# 특징을 나름 정리해 본것입니다. (0) | 2009.10.03 |