PDA

View Full Version : مشکل در ذخیره تغییرات در دیتا در #C



Ali0Boy
پنج شنبه 22 مرداد 1388, 21:03 عصر
سلام دوستان من یه مشکل در کد برنامه ام دارم، وقتی کاربر اطلاعات دیتا رو تغییر می ده و روی Button ذخیره اطلاعات کلیک می کنه VS به کد زیر در تصویر Error می ده، من اول کار فکر می کردم که مشکل از صدا زدن فیلدها در کد Update است چون قبلا این کد کار می داده اما الان جواب نمی ده اما بعد دیدم که نه نام ها هم درسته ولی بازم Error می ده اگه کسی می دونه مشکل از کجاست به من خبر بده. اینم تصویر:http://p30wonder.persiangig.com/image/barname/ERROR.JPG

درضمن من این رو تو بخش #C نوشته بودم اما آقا علیرضا زحمت کشیدن حذفش کردند. ممنون می شم دوستان جوابم رو بدند

mn_zandy63
پنج شنبه 22 مرداد 1388, 22:30 عصر
نوع داده متغیر ID چیه؟
نوع داده فیلد های UserName و Password و ID در جدول چیه؟
من ایرادی توی دستور Update ت نمیبینم.
مگه اینکه متن داخل textbox هات ایرادی داشته باشه که همچین خطایی بهت بده.

Ali0Boy
پنج شنبه 22 مرداد 1388, 23:08 عصر
دوست عزیز ID در دیتا از نوع Autonumber و در برنامه از نوع double بوده و Username و Password در دیتا از نوع Tex بوده. گفتم که فکر نکنم مشکل از دیتا یا صدا زدن فیلدها باشه.
راستی من چند باری هم کدهام رو کپی کردم و یه پروژه جدید ایجاد کردم اما جواب نمی ده:عصبانی++: بسکه این کار رو کردم :عصبانی:آوردم

mn_zandy63
پنج شنبه 22 مرداد 1388, 23:40 عصر
Text؟ منظورت همون نوع داده varChar یا nvarChar هست یا واقعا Text هست؟
نمیدونم ربطی داره یا نه.
به هر حال اگه Text یا NText گذاشتی٬ عوضش کن بذار nVarChar.
یکی از همون پروژه ها رو بذاری اینجا بد نیست :چشمک:

Ali0Boy
جمعه 23 مرداد 1388, 19:53 عصر
مشکل همینجاست که شما دارید نوع های SQL رو می گید ولی من دارم از Access حرف می زنم.
درسته با پایگاه داده SQL هیچ مشکلی نداره اما با اکسس داره (البته به طب کدهای برنامه هم متفاوت می شه) حالا نمی دونم چرا مشکل می گیره؟ هر کارش هم می کنم جواب نمی ده.

انشاءالله بعد از اینکه تمام شد می زارمش تو سایت برای دانلود.
مربوط به مدیریت کردن یک مدرسه است که شامل یک صفحه ی لودینگ و 24 صفحه ی مدیریت می باشد که هر بخش مربوط به عملیات هایی است که در مدرسه صورت می گیرد.

من تنها مشکلم تو این برنامه همین جا است که عصبانیم کرده و به هر دری زدم درست نشد که نشد.:عصبانی:

Sociant
شنبه 24 مرداد 1388, 00:37 صبح
من عکسی که ندیدم ، متن خطا رو هم که نذاشتی ! یه تیکه از کد رو هم نمیذاری!
چجوری میتونم کمکت کنم!!!!

علیرضا مداح
شنبه 24 مرداد 1388, 10:02 صبح
سلام دوست عزیز،
شیء cmd را چطور می سازید؟
داخل TextBox ها چه داده هایی وارد می کنید؟
نام فیلدها و جدول را درست وارد می کنید؟
نام فیلدها را بین علامت های [] قرار دهید و نتیجه را تست کنید،
پیشنهاد می کنم از Parameterized Query استفاده نمایید تا با مشکلات الحاق رشته های مواجه نشوید و همچنین تا حدی از حملات SQL Injection در امان بمانید، بدین منظور از متد AddWithValue مربوط به OledbCommand.Parameters استفاده نمایید، به عنوان مثال:


//<Initializing OledbCommand and OledbConnection>
string cmdText = "UPDATE TableName SET [Field1] = @p1,[Field2]= @p2 WHERE [ID] = @pID";
cmd.Parameters.AddWithValue("@p1", "Value");
cmd.Parameters.AddWithValue("@p2", "Value");
cmd.Parameters.AddWithValue("@pID", ID);
//<Executing command>

،/