PDA

View Full Version : اپدیت کردن جدول داده



اسماعیلی
جمعه 19 مرداد 1386, 18:17 عصر
برای به روز رسانی جدول داده از خط زیر در شرط if استفاده کرده ام بعد از اجرای برنامه شرط if و حتی شرط else اجرا میشود و خط response هم در جای خودش اجرا میشود و هیچ خطایی گرفته نمیشود . ولی جدول داده ها به روز رسانی نمیشود .


if (textbox1.text==textbox2.text)
{string s=" update tabel1 set password='"+textbox3.text+"' where number='"+ textbox4.text+"'"}
response.redirect("default.aspx")}
else
label1.text="try again"






متغییر های پسورد و نامبر از نوع عددی هستند

choobin84
جمعه 19 مرداد 1386, 22:02 عصر
اگر خطای نحوی که در کدی که در بالا نوشتی در کد برنامه ات هم باشه، یکم مشکل رو قابل هضم می کنه؛ نحوه باز و بسته کردن آکولاد ها رو میگم.

اما اگر آکولاد ها رو در اینجا درست نگذاشته باشی ولی در برنامه ات نحوه قرار گیری شون درست باشه، بسیار تعجب خواهم کرد اگر دستور if و else همزمان اجرا شوند.
اگر همزمان اجرا بشه یعنی ابتدا if , بعد else، فکر می کنید چی میشه؟

نمی دونم در برنامه نویسی وب Error ها رو چطوری به برنامه نویس اعلام می کنه. این کد احتمالا با یک خطا در صفحه وب روبرو میشه اما شما اونو ندیدی.

اسماعیلی
شنبه 20 مرداد 1386, 01:12 صبح
دوستان کسی راه حلی به ذهنش نمیرسه ممنون میشم کمکم کنید

hdv212
شنبه 20 مرداد 1386, 01:26 صبح
دوست عزیز، کدت رو به صورت کامل بذار تا ببینم کجای کار رو اشتباه رفتی، این کدی که گذاشتی فقط کد update هست، درضمن علامتهای '' برای مقادیر متنی به کار میره، توی جدول tabel1 مطمئن هستی که نوع فیلد number رو متنی انتخاب کردی ؟ (شاید عدد انتخاب کردی که در این صورت نباید از '' استفاده کنی ). در پایان خط string s = .... باید از ; استفاده کنی. و اینکه در خط response.redirect ... اون آکولاد مال کدومه ؟ شما در شرط if یه بار آکولاد رو باز و بسته کردی. و دیگه اینکه چک کن ببین شاید مقادیر textbox1 و textbox2 با هم مساوی هستند که شرط داخلش اجرا میشه.

اسماعیلی
یک شنبه 21 مرداد 1386, 11:24 صبح
یک باتن روی صفحه ام گذاشته ام و در کلیک آن این کدها را نوشته ام :



SqlConnection conn = newSqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database.mdf;Integrated Security=True;User Instance=True");
conn.Open();
if(TextBox1.Text==TextBox2.Text)
{
string s="update tabel1 set password='"+PassTextBox.Text+"' where number='"+numTextBox.Text+"'";
SqlCommand comma = newSqlCommand(s, conn);
Response.Redirect("surepage.aspx");
conn.Close();
}
else
Label7.Text="try again ";


دوست عزیز hdv212 نوع متغییرهایم در جدول از نوع عددی هستند و اگر مشکل فقط همین است لطفا بهم بگویید به جای " از چه باید استفاده کنم چون بعد از اجرای برنامه مقادیر textbox1 و textbox2 حتما باید مثل هم باشد تا خط if اجرا شود بعد از اجرا بدون هیچ خطایی حتی خط response هم اجرا میشود ولی روی جدول داده ها تغییر پسوردی اعمال نمیشود .
ممنون

hdv212
دوشنبه 22 مرداد 1386, 14:01 عصر
ببینم شما پارامترهای دیگه ی آبجکت comma رو Set کردی ؟
ببنم با چه کدی، دیتابیست رو آپدیت کردی ؟ شما فقط در اینجا دستور update رو تنظیم کردی، ولی اجراش نکردی، اینطوری باید اجراش کنی :


comma.Connection = conn;
conn.Open();
comma.ExecuteNonQuery();
conn.Close();

شاید مشکلت این بوده که اصلا comma رو اجرا نکردی، خب معلومه جدولت update نمیشه.

MH2538
دوشنبه 22 مرداد 1386, 14:11 عصر
سلام
دوست عزیز
اگر متغیر numberات رو از نوع عددی گرفتی پس چرا تو کدت اون رو بین تک کتیشن (') قرار دادی
اینجوری که پایگاه داده ات اون رو string فرض می کنه