1.sql lite 홈페이지에서 set.up파일을 받는다.
2. sql커넥션을 생성 및 커넥션 경로 설정
private SQLiteConnection conn = null;
SQLiteConnection.CreateFile("c:/a.sqlite(경로)"); <- 경로에 파일이 생성됨.
conn = new SQLiteConnection("Data Source=c:/a.sqlite;Version=3;"); <- 커넥트 함.
conn.Open();
3. 쿼리문 설정
string sql = "create table members (name varchar(20), age int)"; <- 테이블 생성
sql = "create index idx01 on members(name)"; <- index 생성
string sql = "insert into members (name, age) values ('김도현', 6)"; <- row 생성 데이터 삽입
4-1. 커맨드를 열어서 쿼리 넘김
SQLiteCommand command = new SQLiteCommand(sql, conn);
command = new SQLiteCommand(sql, conn);
4-2 커맨드 텍스트에 담아서 넘기기
cmd.CommandText = "DELETE FROM member WHERE Id=1";
cmd.CommandText = "프로시저명";
5. 커맨드 실행
int result = command.ExecuteNonQuery(); <- 위에 각행을 실행하는 것을 결과 값으로 받아옴
6. 실행된 커맨드를 읽는 역활
string sql = "select * from members";
SQLiteCommand cmd = new SQLiteCommand(sql, conn);
SQLiteDataReader rdr = cmd.ExecuteReader(); <-리더 설정
while (rdr.Read()) {
MessageBox.Show(rdr["name"] + " " + rdr["age"]); ㅡ
}
rdr.Close(); <-리더 종료
7. 커넥트 종료
conn.Close() <-커넥트 종료
adapter를 이용하여 date를 넣는 법
private DataSet Select_Adapter()
{
DataSet ds = new DataSet();
string connStr = @"Data Source=C:\Temp\mydb.db";
//SQLiteDataAdapter 클래스를 이용 비연결 모드로 데이타 읽기기
string sql = "SELECT * FROM member";
var adpt = new SQLiteDataAdapter(sql, connStr);
adpt.Fill(ds);
return ds;
}
암호화
using (var conn = new SQLiteConnection("Data Source=mydb.db"))
{
conn.SetPassword("mypw");
conn.Open();
string sql = "create table A(id int); insert into A values(1);";
var cmd = new SQLiteCommand(sql, conn);
cmd.ExecuteNonQuery();
}
커넥션시 암호 해서 보냄
using (var conn = new SQLiteConnection("Data Source=mydb.db;Password=mypw"))
{
conn.Open();
var cmd = new SQLiteCommand("select * from A", conn);
var rdr = cmd.ExecuteReader();
while(rdr.Read())
{
Console.WriteLine(rdr[0]);
}
rdr.Close();
}
암호 변경
using (var conn = new SQLiteConnection("Data Source=mydb.db;Password=mypw"))
{
conn.Open();
conn.ChangePassword("newpw"); // 암호 변경
}
암호 삭제
using (var conn = new SQLiteConnection("Data Source=mydb.db;Password=newpw"))
{
conn.Open();
conn.ChangePassword(""); // 암호 삭제
}