مشاهده نسخه کامل
: چرا بعضی از جداول دیتابیسم update نمیشه؟
سلام دوستان.
من به یک مشکلی برخوردم:
با asp.net و sqlserver صفحات وب ساختم.
تو صفحات وبم از گرید ویو استفاده کردم که جداول دیتابیسم رو بتونم ویرایش کنم:
حالا یه چیز جالب:
بعضی از جداول دیتابیسم این مشکل رو پیدا کرده...
انگار اون جداولی که تو صفحات وبم ازشون استفاده کردم مشکل تو update , delete پیدا کردن...
بعضی هاشون این error رو میدن:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعضی هاشون هم error نمیدن اما هیچ تغییری پیدا نمی کنن!!!
اون جداولی هم که تا حال ازشون استفاده نکردم هیچ مشکلی ندارن و update میشن...
permission همه جدول ها هم مثل همه...
باید چیکار کنم؟
hamidreza_buddy
12-10-2008, 01:33
خطای syntax نشون دهنده اینه که فرمت دستور sql مشکل داره.
دستورهای sql رو دستی نوشتی یا VS خودش تولید کرده (به صورت wizard)؟
اون دستوری (update یا delete یا insert) که باعث این مشکل شده رو ببین مشکلی نداره. اگه حل نشد اینجا بذار.
دستورهای sql رو دستی نوشتی یا VS خودش تولید کرده (به صورت wizard)؟
دستورات select,update,... رو خود sqldatasource نوشته،من ننوشتم.
این کد updatecommand:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دقیقا مشابه این کد رو واسه جدول دیگه گذاشتم و اون مشکلی نداره،نمی دونم مشکل چیه!!
این کد updatecommand هم واسه یک جدول دیگه هست که error نمیده اما هیچ تغییری هم نمی کنه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدالبته فکر کنم چون تو این جدول دوم از templatefield استفاده کردم باید تغییراتی تو دستور update بدم..
hamidreza_buddy
13-10-2008, 13:23
توی دستور update اولی مشکل از kb/s نیست؟ چون به نظر میاد به همین گیر می ده.
از جدول دوم، از ستون هایی که نمایش میده، primary key رو حذف کردی؟ همچنین اگه از template فیلد استفاده می کنی باید bind رو انجام بدی.
خیلی ممنونم.:20:
از جدول دوم، از ستون هایی که نمایش میده، primary key رو حذف کردی؟ همچنین اگه از template فیلد استفاده می کنی باید bind رو انجام بدی.آره،هم از جدول حذفش کردم هم از دستور update..
من متن رو تو یه تکست باکس قرار دادم ،واسه همین از templatefield استفاده کردم.این کدشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
bind که فرمودین رو چطور باید انجام بدم؟
hamidreza_buddy
14-10-2008, 07:53
همون Eval("text") رو که نوشته یعنی اون texbox ئ bind شده به فیلد text.
اگه توی template editing روی تکست باکس کلیک کنی، گوشه اش یه فلش کوچولو میبینی. رو اون کلیک کن جزئیاتشو کامل می بینی.
همون Eval("text") رو که نوشته یعنی اون texbox ئ bind شده به فیلد text.
اگه توی template editing روی تکست باکس کلیک کنی، گوشه اش یه فلش کوچولو میبینی. رو اون کلیک کن جزئیاتشو کامل می بینی.
پس تو بایند مشکلی نیست.
فلش کوچولو که رو گرید ویو هست،تو قسمت templatefield properties هم که sortexpression رو text قرار دادم که فیلد دیتابیسم هست.
این کد آپدیت:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددیگه نمی دونم باید چیکار کنم،لطفا راهنماییم کنید
hamidreza_buddy
16-10-2008, 09:51
یه primary key به جدول news اضافه کن (مثلاً newsNum) و اون رو رو auto increment بذار. بعد از اول همون کار قبلی رو انجام بده (گریدویو رو بساز).
یه primary key به جدول news اضافه کن (مثلاً newsNum) و اون رو رو auto increment بذار. بعد از اول همون کار قبلی رو انجام بده (گریدویو رو بساز).
ببخشید، من نمی دونم auto increment چی هست؟یه نوع datatype در sqlserver ؟
در ضمن جدول کلید اصلی داره،من تو دستود آپدیت قرار ندادم.
hamidreza_buddy
19-10-2008, 11:54
وقتی یک primary key به صورت auto increment باشه خودش برا یه ردیف جدید داده، یه کلید جدید تعیین می کنه (معمولاً یکی بیشتر از آخرین کلید).
اونجا که جدول رو می سازی اگه بری توی properties یک فیلد، و identity رو Yes کنی.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.