kfaghih
چهارشنبه 08 شهریور 1396, 19:25 عصر
با سلام من با استفاده از wpf یک برنامه نوشتم که از دیتابیس sqlite استفاده می کنه و برای جلوگیری از خطا در ابتدای اجرای برنامه چک می کنم که اگر فایل دیتابس وجود نداشت اون رو بسازه و سپس اگر جدول وجود نداشت اون ذرو هم بسازه و اما مشکلی که دارم اینه که اگر فایل دیتابیس وجود نداشته باشه و خود برنامه اون رو بسازه در ادامه که connection مزبوط به اون دیتابیس رو می سازم و می خوام اون رو open کنم با این ارور مواجه می شم unable to open database file در صورتی که فایل دیتابیس رو می سازه و اگر یک باز برنامه رو ببندم و دوباره اجرا کنم به درستی اجرا می شه. یعنی در واقع برنامه همون موقع متوجه ساحت فایل دیتابیس نمی شه . کدم هم اینه
SQLiteConnection con;
SQLiteCommand cmd;
SQLiteDataReader read;
if (!File.Exists(db file path))
{
File.Create(db file path );
con = Tools.Con(db file path);
con.Open();
cmd = new SQLiteCommand("create table if not exists DB_Directory (ID Integer , Directory text)", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Success");
}
else
{
con = Tools.Con(Tools.FirstDB_Path);
con.Open();
cmd = new SQLiteCommand("create table if not exists DB_Directory (ID Integer , Directory text)", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Success else");
این هم کد مربوط به connection در کلاس Tools
public static SQLiteConnection Con(string DataSource) {
var constring = new SQLiteConnectionStringBuilder()
{
DataSource = DataSource,
Version = 3,
ReadOnly = false,
}.ToString();
return new SQLiteConnection(constring);
}
ممنون می شم من رو راهنمایی کنید .
SQLiteConnection con;
SQLiteCommand cmd;
SQLiteDataReader read;
if (!File.Exists(db file path))
{
File.Create(db file path );
con = Tools.Con(db file path);
con.Open();
cmd = new SQLiteCommand("create table if not exists DB_Directory (ID Integer , Directory text)", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Success");
}
else
{
con = Tools.Con(Tools.FirstDB_Path);
con.Open();
cmd = new SQLiteCommand("create table if not exists DB_Directory (ID Integer , Directory text)", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Success else");
این هم کد مربوط به connection در کلاس Tools
public static SQLiteConnection Con(string DataSource) {
var constring = new SQLiteConnectionStringBuilder()
{
DataSource = DataSource,
Version = 3,
ReadOnly = false,
}.ToString();
return new SQLiteConnection(constring);
}
ممنون می شم من رو راهنمایی کنید .