PDA

View Full Version : سوال: بروزرسانی رکورد در sqlite



birtemp
یک شنبه 15 اردیبهشت 1392, 18:12 عصر
سلام به دوستان
من یه جدول با نام Note تو sqlite درست کردم و دو تا فیلد با نامهای ID و Content توش گذاشتم
توی فرم برنامه هم یه لیست باکس گذاشتم که گزینه های شامل محتوای Content توشون قرار دارن و وقتی روی یکی از این گزینه ها دابل کلیک می کنم باید به محتوای اون گزینه بره و جهت آپدیت محتوای اون گزینه اقدام کنه.
این کدهاییه که من برای آپدیت ازشون استفاده کردم:

SQLiteConnection con = new SQLiteConnection("Data Source=note.sqlite;Version=3");
string q1 = "INSERT INTO Note(Content) VALUES(?)";
string q2 = "UPDATE Note SET Content=? WHERE Content=?";
string q3 = "SELECT Content FROM Note";
string content;

public void Update(string s1, string s2)
{
SQLiteCommand cmd2 = new SQLiteCommand(q2, con);
cmd2.Parameters.AddWithValue("@Content", s1);
cmd2.Parameters.AddWithValue("@Content", s2);
con.Open();
cmd2.ExecuteNonQuery();
con.Close();
}


private void Update_Click(object sender, RoutedEventArgs e)
{
Update(content, note_text.Text);
Refresh();
}


وقتی میام دکمه آپدیت رو میزنم خط cmd2.ExecuteNonQuery رو خطا میگیره
ازتون خواهش میکنم یه نگاهی بهش بندازین :چشمک:
ممنون

birtemp
یک شنبه 15 اردیبهشت 1392, 19:54 عصر
از استادان عزیز کسی نیست جواب مشکل ما رو بده؟ :لبخندساده:

Hajivandian
یک شنبه 15 اردیبهشت 1392, 20:27 عصر
سلام،

اولاً متن خطایی که بهت میده رو بزار که بشه فهمید چی به چیه!

دوماً این دستوری که برای آپدیت نوشتی، یک دستور استاندارد نیست. توی جداول پایگاه داده کلید اصلی برای بازیابی رکورد ها مد نظر گرفته شده؛ اونوقت شما اومدی از فیلد Content برای بازیابی استفاده کردی!