답변:
다음 링크는 훌륭한 튜토리얼을 제공하여 많은 도움이되었습니다!
필자는이 기사의 모든 것을 거의 사용하여 내 C # 응용 프로그램에 대한 SQLite 데이터베이스를 만들었습니다.
SQLite.dll을 다운로드하여 프로젝트에 대한 참조로 추가하십시오. NuGet을 사용 하고 dll을 수동으로 추가하면됩니다.
참조를 추가 한 후 클래스 맨 위에 다음 줄을 사용하여 코드에서 dll을 참조하십시오.
using System.Data.SQLite;
dll은 다음에서 찾을 수 있습니다.
NuGet 방법은 여기에서 찾을 수 있습니다 .
다음은 작성 스크립트입니다. 데이터베이스 파일 작성 :
SQLiteConnection.CreateFile("MyDatabase.sqlite");
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
string sql = "create table highscores (name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql = "insert into highscores (name, score) values ('Me', 9001)";
command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
m_dbConnection.Close();
C #에서 create 스크립트를 만든 후에는 롤백 트랜잭션을 추가하고 싶을 것입니다. 더 안전하고 데이터베이스가 실패하지 않도록 할 것입니다. 예를 들어 10 번의 쿼리 중 5 번에서 실패 할 수 있습니다.
거래 사용 방법에 대한 예 :
using (TransactionScope tran = new TransactionScope())
{
//Insert create script here.
//Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
tran.Complete();
}
System.Transactions.TransactionScope
이 예상대로 작동하지 않으면 다음 ExecuteNonQuery
과 같이 모든 것이 아니라 즉시 즉시 실행 됩니다 SQLiteTransaction
. 왜 사용 TransactionScope
합니까?
SQLiteTransaction tr = m_dbConnection.BeginTransaction(); SQLiteCommand command = new SQLiteCommand(...); command.Transaction = tr;
하여 이상TransactionScope