PDA

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



Mohamad ghorbani
چهارشنبه 04 اردیبهشت 1392, 18:37 عصر
سلام
دوستان من از کد زیر برای بروزرسانی جداول بانک اطلاعاتی که sql هست استفاده می کنم:

string connectionString = "Data Source=.;Initial Catalog=DB;Integrated Security=True";

SqlConnection con = new SqlConnection(connectionString);
string commandText = "Update table1 SET Subject = '" + TextBox1.Text + "',Text = '" + TextBox2.Text + "' Where TopicId = 5 ";

SqlCommand com = new SqlCommand(commandText, con);

con.Open();

com.ExecuteNonQuery();

con.Close();


ظاهرا کد درسته و هیچ اروری هم نمیده.
ولی اطلاعات بروز نمیشه.
یعنی همون اطلاعات قبلی نمایش داده میشه

ممنون میشم راهنمایی کنید

gholami146
چهارشنبه 04 اردیبهشت 1392, 19:22 عصر
تا اونجایی که من فهمیدم اولا شما باید کانکشن رو ببندید بعد بازکنید
دوما این روش اشتباه شما باید یا تیبل رو رفرش کنید یا اگر کامپوننت شما این امکان رو نداره باید تیبل رو بسته و باز کنید
موفق باشید

Mohamad ghorbani
چهارشنبه 04 اردیبهشت 1392, 19:31 عصر
ممنون دوست عزیز ...


تا اونجایی که من فهمیدم اولا شما باید کانکشن رو ببندید بعد بازکنید
فکر نمی کنم اینجوری باشه؟! :متفکر:


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

می تونی کد رو اصحلاح کنی
با تشکر

ahmad156
چهارشنبه 04 اردیبهشت 1392, 19:38 عصر
دوست عزیز 2 احتمال وجود دارد
1-چک کنین ببینین اصلا شرط تون شامل رکوردی میشه یا نه (احتمالا همین باشه)
2-یه احتمال دیگه (البته من این مورد رو در vb دیدم شاید اینجا هم اتفاق افتاده باشه) خطایی رخ میده ولی نشون نمیده که وقتی دستورات رو درون try catch بذارین شاید نشون بده

gholami146
چهارشنبه 04 اردیبهشت 1392, 19:39 عصر
تا اونجایی که من فهمیدم اولا شما باید کانکشن رو ببندید بعد بازکنید
دوما این روش اشتباه شما باید یا تیبل رو رفرش کنید یا اگر کامپوننت شما این امکان رو نداره باید تیبل رو بسته و باز کنید
موفق باشید

Mohamad ghorbani
چهارشنبه 04 اردیبهشت 1392, 19:55 عصر
ممنون

الان یه قسمت از این کد رو به این صورت تغییر دادم:

string commandText = "Update table1 SET Subject = '" + TextBox1.Text + "',Text = '" + TextBox2.Text + "' Where TopicId = 5 ";

تغییر دادم به این صورت :

string commandText = "Update table1 SET Subject = 'sss',Text = 'ttt' Where TopicId = 5 ";

و کار کرد. یعنی مقادیر داخل بانک عوض شد.
مشکل از مقادیریه که وارد میشه؟ یا از تکس باکس ها؟
نظرتون چیه؟

ahmad156
چهارشنبه 04 اردیبهشت 1392, 20:03 عصر
دوست عزیز با BreakPoint مقدار commandText رو تو Sql Server Managment اجرا کنین ببینین چه اتفاقی رخ میده

Mohamad ghorbani
یک شنبه 08 اردیبهشت 1392, 13:49 عصر
دوست عزیز با BreakPoint مقدار commandText رو تو Sql Server Managment اجرا کنین ببینین چه اتفاقی رخ میده

این کار رو هم کردم .

ابتدا تکس باکس ها با مقادیر داخل بانکم پر میشن.
بعدش مقادیر داخل تکس باکس ها رو تغییر میدم.
دکمه 'بروزرسانی' رو که می زنم، مقادیر داخل تکس باکس ها رو عوض نمیکنه
یعنی همون مقادیر قبلی میمونه و عوض نمیشه!
یعنی بعد از این که مقادیر رو عوض کردم، دوباره مقادیر مثل قبل هستن و عوض نشدن!

نظرتون چیه دوستان؟

phonixone2
یک شنبه 08 اردیبهشت 1392, 14:29 عصر
دوست عزیز احتمالا شرط درست نیست شرطو داخل '' بزارین