Reputation: 61
I am new to windows desktop application development.Will you please suggest me how to create a SQLite database in windows presentation foundation(wpf)?
Upvotes: 3
Views: 14596
Reputation: 813
1.using System.Data;
2.using System.Data.SQLite;
DataTable tb = new DataTable();
string connection = @"Data Source=C:\Folder\SampleDB.db;Version=3;New=False;Compress=True;";
SQLiteConnection sqlite_conn = new SQLiteConnection(connection);
string stringQuery = "Select * from Student";
sqlite_conn.Open();
var SqliteCmd = new SQLiteCommand();
SqliteCmd = sqlite_conn.CreateCommand();
SqliteCmd.CommandText = stringQuery;
SQLiteDataAdapter da = new SQLiteDataAdapter(SqliteCmd);
DataSet ds = new DataSet();
da.Fill(tb);
Upvotes: 2
Reputation: 581
You need to do 2 things:
for example:
using System;
using System.Collections.Generic;
using System.Data.SQLite;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Database
{
public class DbCreator
{
SQLiteConnection dbConnection;
SQLiteCommand command;
string sqlCommand;
string dbPath = System.Environment.CurrentDirectory + "\\DB";
string dbFilePath;
public void createDbFile()
{
if (!string.IsNullOrEmpty(dbPath) && !Directory.Exists(dbPath))
Directory.CreateDirectory(dbPath);
dbFilePath = dbPath + "\\yourDb.db";
if (!System.IO.File.Exists(dbFilePath))
{
SQLiteConnection.CreateFile(dbFilePath);
}
}
public string createDbConnection()
{
string strCon = string.Format("Data Source={0};", dbFilePath);
dbConnection = new SQLiteConnection(strCon);
dbConnection.Open();
command = dbConnection.CreateCommand();
return strCon;
}
public void createTables()
{
if (!checkIfExist("MY_TABLE"))
{
sqlCommand = "CREATE TABLE MY_TBALE(idnt_test INTEGER PRIMARY KEY AUTOINCREMENT,code_test_type INTEGER";
executeQuery(sqlCommand);
}
}
public bool checkIfExist(string tableName)
{
command.CommandText = "SELECT name FROM sqlite_master WHERE name='" + tableName + "'";
var result = command.ExecuteScalar();
return result != null && result.ToString() == tableName ? true : false;
}
public void executeQuery(string sqlCommand)
{
SQLiteCommand triggerCommand = dbConnection.CreateCommand();
triggerCommand.CommandText = sqlCommand;
triggerCommand.ExecuteNonQuery();
}
public bool checkIfTableContainsData(string tableName)
{
command.CommandText = "SELECT count(*) FROM " + tableName;
var result = command.ExecuteScalar();
return Convert.ToInt32(result) > 0 ? true : false;
}
public void fillTable()
{
if (!checkIfTableContainsData("MY_TABLE"))
{
sqlCommand = "insert into MY_TABLE (code_test_type) values (999)";
executeQuery(sqlCommand);
}
}
}
}
Good luck!
Upvotes: 5