PDA

View Full Version : اجرای چندین دستور INSERT و یا UPDATE در یک query



MSYNK
شنبه 18 مهر 1383, 17:31 عصر
با سلام
آیا میشه چندین دستور این چنینی(با قابلیت تغییر در دیتابیس) رو تو یه کوئری قرار داد و با Command اجراش کرد؟
و اینکه آیا میشه دستوراتی رو که بیشتر تو Stored Procedure ها معمول هستند رو تو یه کوئری قرار داد و ...
با تشکر.

Vahid_Nasiri
شنبه 18 مهر 1383, 18:02 عصر
شما می تونید تمام عملیات مورد نظر را در یک رویه ذخیره شده قرار دهید و سپس نام رویه را در ASP.NET فراخوانی و سپس اجرا کنید.
=========
یک نمونه دیگر:
http://www.barnamenevis.org/forum/viewtopic.php?t=15425

MSYNK
شنبه 18 مهر 1383, 18:31 عصر
با سلام
اگه منظورتون SP هستش که بدردم نمیخوره!(Access)
اون مثال رو من قبلا امتحان کردم در مورد INSERT و UPDATE جواب نمیده!
راهی نیست؟
با تشکر.

Vahid_Nasiri
شنبه 18 مهر 1383, 20:28 عصر
البته در اکسس 2002 به بالا امکان ساخت رویه ذخیره شده وجود دارد:
http://www.experts-exchange.com/Databases/MS_Access/Q_20936728.html

Vahid_Nasiri
شنبه 18 مهر 1383, 20:42 عصر
این مقالات هم در تکمیل روش فرهاد خان که در بالا لینکش داده شد:
http://www.dotnetjohn.com/articles.aspx?articleid=23
http://aspnet.4guysfromrolla.com/articles/032702-1.aspx

=========

البته اگر بحث SQL-Server باشد با یک سمی کولون می شود کوئری بعدی را در ادامه نوشت و .... الی آخر (و نیازی به تلاش خاصی ندارد).

========

ایده ی این برنامه هم جالب است:
http://www.thecodeproject.com/cs/database/QASharp12.asp
و همچنین
http://www.thecodeproject.com/cs/database/msde-gui.asp

MSYNK
یک شنبه 19 مهر 1383, 13:45 عصر
با سلام
با تشکر از استاد و اینکه خیلی سریع منظور منو گرفتند ::
من میخوام یه کلاس بنویسم که SP رو تو اکسس شبیه سازی کنه!
واسه همین هم میخوام که چند دستور رو با هم اجرا کنم و یا دستوراتی رو که تو SP ها متداول هستند رو بتونم تو یه کوئری اجرا کنم!
اون راه حلها تو Access جواب نمیده(صرف نظر از ورژنش!)
آیا راه ابتکاری یا من درآوردی وجود نداره؟
با تشکر.

Vahid_Nasiri
یک شنبه 19 مهر 1383, 17:58 عصر
چرا!
چند وقت پیش یک کلاس کوچک نوشتم که کوئری ها را به شکل ساده از یک فایل txt می خواند و بر روی sql-server اجرا می کرد. منطق آن هم این بود که خط به خط دستورات را می خواند و هر جا به سمی کولون و یا عبارت GO می رسید ، عبارت را کامل فرض می کرد و کل آنرا اجرا می کرد. بعد سراغ بعدی می رفت و بعدی را اجرا می کرد و الی آخر.... . این روش روی هر نوع دیتابیسی جواب می دهد. فقط باید یک سری اصول برای خودتان در مورد ابتدا و انتهای تعریف یک کوئری (از هر نوعی) تعریف کنید. سپس آنرا parse کنید و سپس اجرا.

MSYNK
دوشنبه 20 مهر 1383, 09:36 صبح
با سلام
این روش قبلا به ذهنم خطور کرده بود! که چند تا مشکل رو نتونستم حل کنم٬ که یکیش اینه:
1. میشه دستوراتی مثل IF و ... رو هندل کرده و تو یه کوئری اجراش کرد؟
مثلا میشه کوئری زیر رو داشته باشیم:


IF (condition...) THEN
INSERT ...
INSERT ...
UPDATE ...
ELSE
UPDATE ...
UPDATE ...
INSERT ...
END IF

میشه؟
با تشکر.