ASP.NET MVC SQLLITE

Standart MVC projesi oluşturuyoruz.

1

2

Yüklemiş olduğumuz SQL Lite dll versiyonlarını projemize referans olarak ekliyoruz.

3

4

Ben Navicat programı ile App_Data folder altında yeni bir Db oluşturdum ve ona navicat vasıtası ile bağlandım.

5

Daha sonra HomeController içerisine IConnection interface i ve ona bağlı SQLLiteConnector sınıflarını oluşturdum.

[csharp]

public class SQLLiteConnector :IConnection, IDisposable
{
private SQLiteConnection sql_con;
private SQLiteCommand sql_cmd;
private SQLiteDataAdapter DB;
private DataSet DS = new DataSet();
private DataTable DT = new DataTable();

public string ConnStr = @"Data Source=/App_Data/DemoSQL.db;Version=3;New=False;Compress=True;";

public SQLiteConnection Connect()
{
return sql_con = new SQLiteConnection(ConnStr);

}

public void Disconnect(SQLiteConnection Connection)
{
Connection.Close();
}

public void ExecuteQuery(string SqlQuery)
{
sql_con = Connect();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = SqlQuery;
sql_cmd.ExecuteNonQuery();
sql_con.Close();
}

public DataTable LoadData(string SQL)
{
sql_con = Connect();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText =SQL;
DB = new SQLiteDataAdapter(CommandText, sql_con);
DS.Reset();
DB.Fill(DS);
DT = DS.Tables[0];
sql_con.Close();

return DT;
}

public void Dispose()
{
GC.SuppressFinalize(this);
}
}

public interface IConnection
{

SQLiteConnection Connect();
void Disconnect(SQLiteConnection Connection);

void ExecuteQuery(string SqlQuery);

DataTable LoadData(string SQL);

}
[/csharp]

Yukarıdaki kodun hata vermemesi için projenize using System.Data; ve using System.Data.SQLite; sınıflarını eklememiz gerekmektedir.

Daha sonra istediğimiz herhangi bir yerde yada controller da aşağıdaki gibi kullanabilirsiniz.

[csharp]

public ActionResult Index()
{
DataTable dt = new DataTable();

using (SQLLiteConnector Connector = new SQLLiteConnector())
{
dt = Connector.LoadData("Select * from DemoPersonel");
}
return View(dt);
}
[/csharp]

Aslında EF kullananlar için çok klasik bir yöntem kalmış olabilir. Ama Bir sonraki anlatımda EF ile SQL lite kullanımıda göreceğiz.

Leave a Reply