مشاهده نسخه کامل
: مشکل در insert کردن( asp.net)
roya_borhany
31-12-2009, 11:40
میخواهم اطلاعات وارد شده در بانکم ذخیره شود. کد زیر را نوشتم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اما ذخیره نکرد. بعد از کلی کار کردن حالا خطای زیر رو میده که نمیدونم چیه تا بتونم مشکلش رو حل کنم؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ممنون میشم اگر راهنمایی کنید.
سلام
مشکل شما از همان خط مشخص شده در تصویر است ...
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ConfigurationManager.ConnectionStrings راه ارتباطی شما با web.config است و میتوانید رشته اتصال را انجا قرار دهید و اینجا استفاده کنید ولی در کد شما باید Name ای را که به رشته اتصال داده اید درج کنید نه خود رشته را !!!!
اگر قرار بود همینجا رشته اتاصل را تایپ کنید که دیگری چه نیازی به web.config و ConfigurationManager.ConnectionStrings بود؟
=====
کد صحیح:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
=====
یا کد صحیح و بهتر:
الف) تنظیم مطلوب زیر در فایل web.config:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و سپس کدی مثل این:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
==============
در اخر اگر به جای تعریف عادی و بعد هم Close و... از دستور using استفاده کنید خیلی بهتر است.
این دستور ضمن داشتن سینتکش مفهوم تر با تضمین بالا شی اش را نابود میکند و دیگری نیازی به Close هم نیست.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مطلب مرتبط:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
=====
موفق باشید.
roya_borhany
31-12-2009, 20:01
اون مشکلم حل شد. این یکی چیه؟
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
اینکه همان خطای قبلی است.
و در پست قبلی جواب داده شده!!!!
roya_borhany
01-01-2010, 00:22
سلام
اینکه همان خطای قبلی است.
و در پست قبلی جواب داده شده!!!!
حواس نمیذارن واسه آدم!!! ببخشید ویرایش کردم
سلام
=====
من به بقیه دستوراتتان توجه نکرده بودم ...
واضح است که خط مربوطه ایراد دارد.
شما دستور INSERT داده اید و با ExecuteScalar اجرایش کرده اید !!!!!!!!!!
INSERT که عددی بر نمیگرداند !!!!!
باید با ExecuteNonQuery اجرایش کنید که مخصوص دستوراتی است که چیز خاصی برنمیگرداند.
نمیدانم چرا انتظار داشته اید که INSERT یک عدد برگرداند!!!!
آیا فیلد AutoNumber دارد که میخواستید عددش را پس از درج بگیرد !!!!! اگر چنین است باید دستور SELECT داشته باشید!
=====
مطلب بعدی انکه نیاز نیست اول پارامتر را اضافه کنید و سپس مقدارش را بدهید، این کار بازدهی کمی دارد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بجایش میتوانید از سینتکسی مثل این دستور استفاده کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
=====
مطلب بعد هم انکه اگر رشته های خالی و Nothing را با DBNULL تعویض کنید، کد مطمئن تری خواهید داشت.
=====
و مطلب آخر هم آنکه آپلود تصاویر در هاستی مثل rapidshare که لینک مستقیم نمیدهد برای استفاده در تگ IMG فایده ندارد و هیچکدام از تصاویر شما همینطوری دیده نمیشود !!!
یا از هاستینگ هایی مخصوص تصویر استفاده کنید که لینک مستقیم تصویر میدهد و یا حداقل لینک تصاوری را به صورت عادی اینجا قرار دهید. (شاید افراد دیگر نتوانند به راحتی تصاویر شما را مشاهده کنند)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
roya_borhany
01-01-2010, 11:31
نمیدانم چرا انتظار داشته اید که INSERT یک عدد برگرداند!!!!
من عین همین دستور رو در یکی از کارهام استفاده کردم و به مشکل بر نخوردم. نمیدونم این یکی چرا این طوری شده؟
آیا فیلد AutoNumber دارد که میخواستید عددش را پس از درج بگیرد !!!!!
ببینید حالتی است که باید پس از هر سفارش یک شماره سفارش به فیلد مربوطه در جدول اضافه کند
اگر چنین است باید دستور SELECT داشته باشید!
متوجه نشدم. یعنی باید چی کار کنم؟ select رو برای چی باید استفاده کنم؟
از هاستینگ هایی مخصوص تصویر استفاده کنید
بله حتما!!!
البته اگر ممکن است به خطای زیر هم یه نگاهی بندازین. واقعا نمیدونم چرا سر این کارم اینطوری اسیر شدم. ممنون
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
سلام
متوجه نشدم. یعنی باید چی کار کنم؟ select رو برای چی باید استفاده کنم؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته اگر ممکن است به خطای زیر هم یه نگاهی بندازین. واقعا نمیدونم چرا سر این کارم اینطوری اسیر شدم.
این تصویر فایده ندارد!
دستور Try-Finally-End Try را حذف کنید تا محل و خط واقعی خطا مشخص شود و سپس تصویر بگیرد.
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.