View Full Version : مبتدی: تغییر نام table
majid2230
جمعه 07 خرداد 1389, 01:32 صبح
سلام
کسی می دونه چه جوری میشه از طریق کد اسم table رو عوض کرد
ممنون
حسین شهریاری
جمعه 07 خرداد 1389, 11:13 صبح
سلام
اگه منظورتون نام جدول در SQL هست باید عرض کنم نه تنها جدول بلکه نام هر Object دیگه ای را هم به شکل زیر میتونین عوض کنید.
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
مثال:
EXEC sp_rename 'customers', 'custs'
پارامتر اول نام جاری و پارامتر دوم نام جدید شما میباشد.
موفق باشید
majid2230
دوشنبه 10 خرداد 1389, 23:59 عصر
من از ویژگی SQL در ADOQuery برای اجرای کامندهای SQL استفاده می کنم و این کامندها به
DELETE
INSERT
UPDATE
PROCEDURE
و SELECT محدود هستند ، راه دیگری هست که بتونم اسم Table رو عوض کنم .
ممنون
حسین شهریاری
سه شنبه 11 خرداد 1389, 08:47 صبح
سلام
دوست عزیز شما که همه امکانات را از این کارمند بیچاره گرفتین!!!
تنها راهش اینه که موقتا مجوز Procedure را به کاربر بدید و به محض تغییر نام دوباره ازش بگیرید.
راه دیگری هست که بتونم اسم Table رو عوض کنم .
خیر! حد اقل من راه دیگه ای بلد نیستم.
majid2230
سه شنبه 11 خرداد 1389, 14:11 عصر
به جان خودم من محدودش نکردم خود دلفی (من از دلفی 2009 استفاده می کنم ) در صورتی که کامندی غیر از آنچه در بالا گفتم وارد کنید یه پیغام خطا می ده و میگه فقط کامندهای بالا قابل اجرا هستند .
با PROCEDURE چه جوری باید کار کنم ؟ آخه من تا حالا sql کار نکردم .
ممنون
hossein_h62
سه شنبه 11 خرداد 1389, 15:10 عصر
سلام مجید جان
پروسیجری رو که جناب آقای شهریاری گفتن رو در sql ذخیره کن و اون رو در دلفی اجرا کن.نحوه استفاده از Store Procedure ها در دلفی بارها در این بخش بحث شده.اینم یه نمونش (http://barnamenevis.org/forum/showthread.php?t=199277).
majid2230
سه شنبه 11 خرداد 1389, 17:41 عصر
من گفته بودم مبتدی هستم پس میشه منظورتون رو از این عبارات توضیح بدید :
ADOstoredprocedure رو به sp که در sql ساختی وصل کن
منظور کدوم sql و sp هست ، من از دیتابیس اکسس استفاده می کنم و در کومبو مربوط به procedure name چیزی نشان داده نمی شود .
کار بعدی اینه که type پارامترهای sp رو هم باید از طریق parameters شی ADOStored مشخص کنی
کدوم پارامتر منظور همون اسم جدید و قدیم table هست ؟
ممنون
حسین شهریاری
سه شنبه 11 خرداد 1389, 19:13 عصر
دوست عزیز چرا اینقدر کار را سختش میکنید؟
اون چیزی که من براتون قرار دادم خودش فراخوانی یه روال سیستمی است.دیگه نیاز نیست اونا با روالها انجام بدید.
کافیه یه کوئری بنویسید.اینطوری:
AdoQuery.sql.text:='EXEC sp_rename '+Qotedstr('customers')+','+qotedstr( 'custs');
Adoquery.execsql;
majid2230
سه شنبه 11 خرداد 1389, 19:45 عصر
سلام
با تشکر ویژه از آقای شهریاری :
اولا :Qotedstr چیه چون نمی شناسدش ( حل شد Quotedstr )
ثانیا : پیغام خطا می ده که (the microsoft Jet database engine cannot find the input table or query 'sp-rename' ) و ضمنا من در connection string از Microsoft Jet 4.0 OLE DB Provider استفاده می کنم .
ثالثا : من تو کار با بانک اطلاعاتی یه تازه کارم واقعا دلم می خواد اطلاعات به دست بیارم ، اگه براتون امکان داره یه آموزش کامل ( طرف چقدر پر رو ه) در این باره و آبجکت های استاندارد دلفی برای کار با دیتا بیس بذارید واقعا ممنون میشم ، کلی دعاتون می کنم .
حسین شهریاری
سه شنبه 11 خرداد 1389, 21:37 عصر
the microsoft Jet database engine
اولا اختیار دارین!! دوما سعی میکنم سر فرصت براتون مطالب مفیر بفرستم سوما توی این سایت و اینترنت آموزش زیاد هست ولی تا کار نکنید تجربه هم بدست نمیارین.همین که سعی در یادگیری دارین قابل تقدیر هست!!
من تازه الان متوجه شدم که پایگاه داده شما اکسس هست.پس چرا نگفته بودید؟ الان هم نگفتین بلکه من از این جمله که نقل قول کردم متوجه شدم!!
اون دستور مربوط به پایگاه داده های SqlServer هستش.
برای اکسس نمیدونم چه دستوری باید نوشت.ولی پیشنهاد میکنم سوالتونا توی بخش پایگاه داده اکسس بپرسید.در ضمن تاکید میکنم سوالتونا اینطوری اونجا بپرسید:
با چه دستوری(نوشتن چه کوئری؟) میشه نام یک جدول در اکسس را تغییر داد؟
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.