ورود

View Full Version : وجود و عدم وجود یک Table و یک Field خاص



فرزاد دلفی باز
پنج شنبه 14 دی 1385, 23:16 عصر
چطور میشه فهمید که یک Table خاص در یک بانک اطلاعاتی وجود داره یا نداره ؟ و اگه وجود دارد آیا Field مشخصی درون اون Table هست یا نه ؟؟؟؟

Mojgan110
جمعه 15 دی 1385, 01:33 صبح
چطور میشه فهمید که یک Table خاص در یک بانک اطلاعاتی وجود داره یا نداره ؟

یه راه آسون :
توی try..catch سعی کنیم بازش کنیم !

Hamid_PaK
جمعه 15 دی 1385, 05:26 صبح
SQL پشتیبانی نمی کنه ؟

یا حق ...

vcldeveloper
جمعه 15 دی 1385, 08:55 صبح
اگه از یک شی Connection (مثل AdoConnection، TSQLConnection, TDatabase و...) برای اتصال به بانک استفاده می کنید، می تونید با فراخوانی متدهای GetTableNames و GetFieldNames به ترتیب لیست جدولهای موجود در بانک و لیست فیلدهای یک جدول خاص رو بدست بیارید.

فرزاد دلفی باز
جمعه 15 دی 1385, 14:26 عصر
جناب کشاورز عزیز بوسیله راهنمایی شما جواب داد :


ADOConnection1.GetTableNames(Memo1.Lines.Create, TRUE);
ADOConnection1.GetFieldNames('Table1',Memo2.Lines. Create);


متشکرم

فرزاد دلفی باز
دوشنبه 18 دی 1385, 21:00 عصر
جناب کشاورز میشه تمام فیلد های یک بانک اطلاعات را در یک زمان رویت کرد(در اکسس)

vcldeveloper
سه شنبه 19 دی 1385, 07:16 صبح
میشه تمام فیلد های یک بانک اطلاعات را در یک زمان رویت کرد(در اکسس)
متوجه منظورتون نمیشم. اگه می خواید نام تمام فیلدهای یک جدول رو ببینید که راهش همونی هست که در بالا توضیح داده شد. اگر می خواید محتوی یک جدول رو ببینید که راهش استفاده از یک DataSet و DBGrid هست.

حرفه ای
سه شنبه 19 دی 1385, 08:13 صبح
فرزاد عزیز از راه حل زیر استفاده کن



ADOConnection1.GetTableNames(Memo1.Lines.Create, TRUE);
For i:=0 To Memo1.Lines.Count-1 Do
ADOConnection1.GetFieldNames(Memo1.Lines[i],Memo2.Lines. Create);

تو تا منو داری غم نداری

فرزاد دلفی باز
سه شنبه 19 دی 1385, 08:21 صبح
هادی جان ممنون ولی نشد....
جناب کشاورز مشکل اینه که من یک بانک دارم که ممکنه تیبل و فیلد های اون تغییر کنه حال من می خواهم یک مقایسه بین این دو بانک بکنم(قیدیمی و جدیده ) و ببینم کدوم چه فیلد یا تیبل کم داره و اون را بسازم (من می خواستم تمام فیلد های یک بانک رو ببینم و بعد مقایسه کنم) متشکر میشم من رو راهنمایی کنید البته هر روش دیگه ای هم باشه ممنون میشم
آیا در اکسس میشه چنین کاری کرد .......

vcldeveloper
چهارشنبه 20 دی 1385, 11:18 صبح
مشکل شما با همون کد بالا قابل حله. بعد از اینکه لیستی از فیلدهای یک جدول بدست آوردید، می تونید محتوی لیست را با لیست دیگه ایی که از جدول دیگه ایی بدست آوردید مقایسه کنید (برای این منظور می تونید از متد Equals از TStrings استفاده کنید).


ADOConnection1.GetFieldNames(Memo1.Lines[i],Memo2.Lines. Create);
در کد بالا نیازی نیست متد Create از شی Lines رو فراخوانی بکنید:


ADOConnection1.GetFieldNames(Memo1.Lines[i],Memo2.Lines);

حرفه ای
جمعه 22 دی 1385, 20:04 عصر
فرزاد عزیز !

برنامه تو به طور کامل نوشتم و به آدرس e-mail شما ارسال کردم

امیدوارم مورد استفاده قرار بگیره

( تا منو داری غم نداری )

Modernidea
پنج شنبه 07 خرداد 1388, 17:41 عصر
DOConnection1.GetTableNames(Memo1.Lines.Create, TRUE);

به پیر به پیغمبر این دستور هیچ چیزی رو برنمی گردونه.
من هر کاری کردم هیچ نامی رو نشون نداد؟
چیکار کنم.؟

--یاهوو--