PDA

View Full Version : اجرای دستور update در دلفی و ...



freebird
پنج شنبه 28 اردیبهشت 1385, 15:56 عصر
سلام دوستان
من یه بانک اطلاعاتی در اکسس دارم که کاربر اون، موقع نوشتنش، اول بعضی از کلمات space بیخود زده، حالا من می خوام با دستور trim این space ها رو از بین ببرم. خوب یه راهش اینه که توی خود اکسس یه ماکرو بنویسم و بعد ماکرو رو اجرا بکنم. که راه حل خوبی یه ، بشرطی که طول دستورات بکار رفته در ماکرو کوتاه باشه؛که الان اینطوری نیست.
می خوام با دلفی یه فایل exe بسازم که این کار رو برام انجام بده. بنابراین این خط از کد را در برنامه ام قرار دادم:
ADOQuery1.SQL.Add('UPDATE table1 SET name=TRIM(name)');

منتها موقع اجرا error میده که provider شما از اینطور دستورات حمات نمیکنه و اینا...
من همیشه از microsof jet 4 oledb استفاده می کردم. الان هم provider های دیگه رو که تست می کنم، هر کدوم یه error ای موقع اجرا می دن. می خواستم ببینم بنظرتون چکار کنم ؟

خیلی ممنون

davoodmz
شنبه 30 اردیبهشت 1385, 07:50 صبح
یک روش معرفی میکنم
در یک لحطه quary خود را باز و بسته کنید در یک button
quary.close
quary.open

mzjahromi
شنبه 30 اردیبهشت 1385, 07:53 صبح
میشه خط قبل و دو سه تا خط بعد از دستور فوق رو هم بنویسید؟

freebird
شنبه 30 اردیبهشت 1385, 08:47 صبح
از توجهتون ممنون :تشویق:

میشه خط قبل و دو سه تا خط بعد از دستور فوق رو هم بنویسید؟
اینم از کدش:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('UPDATE table1 SET name=TRIM(name
ADOQuery1.Close;
ADOQuery1.Open;

freebird
شنبه 30 اردیبهشت 1385, 08:51 صبح
می دونید الان چی یادم افتاد :متعجب:
الان که دلفی رو کامپیوترم نصب نیست، اما فکر کنم به خاطر اینه که دیتابیس رو در حالت edit یا update نذاشتم، آره؟ :لبخند:
اگه اینطوری باشه که واقعا :خجالت:

mzjahromi
شنبه 30 اردیبهشت 1385, 12:08 عصر
بجای دوتا دستور زیر


ADOQuery1.Close;
ADOQuery1.Open


بنویسید


adoquery1.execsql;

freebird
یک شنبه 31 اردیبهشت 1385, 14:11 عصر
بجای دوتا دستور زیر


ADOQuery1.Close;
ADOQuery1.Open


بنویسید


adoquery1.execsql;

آقا خیلی ممنون، درست شد.:تشویق:
حالا واقعا این دستور چه فرقی با اون بالایی داشت؟ اگه توضیح بدی ممنون میشم.

davoodmz
سه شنبه 02 خرداد 1385, 08:51 صبح
آقای جهرمی
با سلام
quary را فقط close می کند و مجدداً open نمیشود.
باتشکر

mzjahromi
پنج شنبه 04 خرداد 1385, 07:17 صبح
آقای جهرمی
با سلام
quary را فقط close می کند و مجدداً open نمیشود.
باتشکر
درسته.
شما یک کوئری اجرائی دارید پس بجای Open از ExecSQL استفاده کنید.

SABA77
دوشنبه 08 خرداد 1385, 08:04 صبح
با سلام
می خواستم بدونم چه طور میشه یک سری ادیت رو در دلفی از یک فرم کپی و در ادیتهای موجود در فرم دیگری paste کنیم
در ضمن اگر میشه درباره کدهای صفحه کلید در دلفی نیز مرا راهنمایی کنید

mzjahromi
دوشنبه 08 خرداد 1385, 18:22 عصر
با سلام
می خواستم بدونم چه طور میشه یک سری ادیت رو در دلفی از یک فرم کپی و در ادیتهای موجود در فرم دیگری paste کنیم
در ضمن اگر میشه درباره کدهای صفحه کلید در دلفی نیز مرا راهنمایی کنید
دوست عزیز سوال شما با این تاپیک مرتبط نیست لطفا تاپیک دیگری ایجاد کنید

davoodmz
سه شنبه 09 خرداد 1385, 12:17 عصر
آقای ذوالقدر با سلام
خوب بود ولی من نفهمیدم فرق یک بار باز و بسته کردن query با دستور شما
با تشکر

mzjahromi
سه شنبه 09 خرداد 1385, 19:15 عصر
سلام دوست عزیز
ببینید باز کردن برای Query هائی مثل Select هست که مقدار بازگشتی دارن. ولی کوئری هائی مثل درج و تغییر فقط باید اجرا شوند.

negarin5340
سه شنبه 05 شهریور 1387, 08:30 صبح
سلام من دارم یه برنامه ای می نویسم که دینپتابیس اون database desktopو با appendrecord کردن رکوردها در همه فرم ها افزایش پیدا می کند با جستجو های که کردم کفتند باید از دستور update استفاده کنم آیا درسته یا نه ؟اگه درسته که شکل کلی دستور رو برام بنویسید اگه که اشتباه است منو راهنمایی کنید ممنونم (بطور مثال می خواهم در یک فرم رکوردی رو افزایش بدم ولی د فرم دیگر رکورد افزایش پیدا نکند )