PDA

View Full Version : چند سوال در مورد SQLite



nurani
جمعه 18 تیر 1395, 07:42 صبح
با سلام
با استفاده از کد زیر در دکمه فرم اول اطلاعات رو داخل پایگاه ثبت میکنم حالا وقتی بخوام از طریق دکمه درون فرم دوم این اطلاعات رو ثبت کنم کجای کد رو ویرایش کنم
string insert = "insert into MyTable (name,family,address,shmeli)values(@name, @family,@address,@shmeli)";
SQLiteCommand cmd = new SQLiteCommand(insert, con);
cmd.Parameters.AddWithValue("@name", txtname.Text);
cmd.Parameters.AddWithValue("@family", txtfamily.Text);
cmd.Parameters.AddWithValue("@address", txtaddress.Text);
cmd.Parameters.AddWithValue("@shmeli", txtshmeli.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Refresh();

اینم برای رفرش

SQLiteConnection con = new SQLiteConnection("Data Source=DB.sqlite;Version=3");
public void Refresh()
{
string load = "select * From MyTable";
SQLiteCommand cmd = new SQLiteCommand(load, con);
SQLiteDataAdapter objectadapter = new SQLiteDataAdapter(cmd);
DataTable dt = new DataTable();
objectadapter.Fill(dt);
Dgv.DataSource = dt;

}

اگر کد های بالا رو در فرم دوم قرار دهم اطلاعات مستقیم در پایگاه ثبت میشه ولی دیتاگرید بروز نمیشه

سوال دوم برای ویرایش هم می خوام در فرم جداگانه باشه لطفا راهنمایی فرمایید

برای حذف هم از کد زیر استفاده می کنم اینم خواستم تایید حذف رو به جای مسیج باکس یک فرم جداگانه قرار دهم و درون ان فرم دکمه قرار دادم و کد حذف رو نوشتم اما رکورد حذف نشد
if (Dgv.RowCount == 0) return;
if (MessageBox.Show("آيا رکورد مورد نظر حذف گردد", "حذف", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)
{
string delete = "delete from MyTable where shmeli=@shmeli";
SQLiteCommand cmd = new SQLiteCommand(delete, con);
cmd.Parameters.AddWithValue("@shmeli", txtshmelidelete.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
Refresh();
}

سوال سوم با کد زیر در ستون از نوع رشته عمل جستجو انجام میدم ولی اگه مقادیر ستون از نوع عدد باشه کد اجرا نمیشه
کجای کد رو ویرایش کنم تا اجرا شود یا کدی قرار دهید تا اعداد رو هم در یک ستون جستجو یا همان فیلتر کنه

((DataTable)Dgv.DataSource).DefaultView.RowFilter =
string .Format("shmeli like '%{0}%' ", txtsearch.Text.Trim().Replace("'",
"''"));

AbbasVB
جمعه 18 تیر 1395, 09:59 صبح
سلام
برای ویرایش باید از دستور Update استفاده کنی
برای رفرش فکر کنم باید دیتا گرید رو خالی کنی
خوب دیتا گرید توی کدوم فرمه؟ لابد متد Refresh رو بعد از درج فرا خوانی نمی کنی
برای جستجو نمیدونم
یه پروژه برات می زارم
امید وارم کمکت کنه
در کل اگه پروژه خودت رو بزاری بهتر میشه کمک کرد
موفق باشی
پروژه دیتابیس نداره!!!

nurani
جمعه 18 تیر 1395, 10:40 صبح
سلام
برای ویرایش باید از دستور Update استفاده کنی
برای رفرش فکر کنم باید دیتا گرید رو خالی کنی
خوب دیتا گرید توی کدوم فرمه؟ لابد متد Refresh رو بعد از درج فرا خوانی نمی کنی
برای جستجو نمیدونم
یه پروژه برات می زارم
امید وارم کمکت کنه
در کل اگه پروژه خودت رو بزاری بهتر میشه کمک کرد
موفق باشی
پروژه دیتابیس نداره!!!

ممنون دوست عزیز
تمامی دستورات رو می دونم ولی وقتی که می خوام عمل ثبت و ویرایش و حذف رو انتقال بدم به فرم دوم
عمل ثبت انجام میشه واگه برنامه رو مجدداجرا کنم رکورد ثبت شده ولی وقتی در فرم دوم بعد از ثبت و رفرش رو فراخوانی کنم دیتا گرید بروز نمیشه

در مورد حذف هم در فرم اصلی مشکلی ندارم ولی وقتی بخوام از طریق فرم دوم حذف کنم نمی تونم

nurani
سه شنبه 22 تیر 1395, 06:44 صبح
اینم نمونه برنامه حالا می خوام گروپ باکس افزودن و ویرایش رو در فرم جداگانه داشته باشم تا عملیات افزودن و ویرایش در فرم جداگانه انجام شود
البته برای حذف یک دکمه روی فرم اول باشه و فقط تایید حذف به صورت یک فرم نمایش داده شود (به جای مسیج باکس)


http://s6.picofile.com/file/8259390342/SQLite.rar.html