PDA

نسخه کامل مشاهده نسخه کامل : اضافه کردن فیلد به جدول Ado در هنگام اجرا



alî
23-03-2008, 23:12
چگونه می شه فیلدی به یک جدول در هنگام اجرا اضافه کرد یا اینکه نوع فیلد را عوض کرد مثلا یک فیلد عددی را به رشته ای تبدیل کرد؟
فکر کنم باید فیلد را حذف کرده و فیلد جدیدی از نوع رشته ای اضافه کرد.
سوال من: چطور میشه فیلدی در زمان اجرا اضافه کرد؟

hedi
24-03-2008, 12:40
با سلام
دوست عزیز برای این منظور باید اولا از AdoDataSet استفاده کنی به این صورت که CommandType آن را در حالت
Unkown بگذاری بعد از دستورات SQL در کد نویسی برنامه و در CommandText آن به این صورت بنویسی :
Select * From Table1 و حتما توجه کن که اگر از * استفاده کنی دیگه همیشه هر فیلدی را به جدول اضافه کنی به صورت خودکار می شناسد.
نکته : در مقدار دهی فیلدها باید از FieldByname استفاده کنی.
موفق باشی ...

F A R H A D
24-03-2008, 14:21
hedi عزيز جواب شما ربطي به سوال مطرح شده نداره.

چطور میشه فیلدی در زمان اجرا اضافه کرد؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

alî
25-03-2008, 07:38
شاید من منظورم رو درست بیان نکردم.
منظور من اضافه کردن فیلد به جدول در دیتابیس نیست! می خوام یه فیلد موقتی به ADOTable اضافه کنم.
همون کاری که در DesignTime برای انجام دادنش در قسمت لیست فیلدهای جدول کلیک راست کرده و New Field را انتخاب می کنیم.
البته در پاسخ hedi عزیز من نمی تونم select * بزارم، ایا راه دیگه ای نیست؟

hedi
25-03-2008, 20:14
دوست عزیز باز هم برای استفاده از فیلدهای موقتی باز هم باید از دستورات SQL استفاده کنی و البته برای استفاده از فیلدهای موقتی هم باید بانک اطلاعاتی SQL Server استفاده کنی چون خود آن یکسری جداول دارد که می توانی در آن از فیلدهای موقتی که با # متمایز می شوند استفاده کنی مثلا #Name و آن ها را به جدولت اضافه یا حذف کنی.
یه نکته ای را به شما گوشزد کنم اگر می خواهی واقعا برنامه نویسی کنی برو سراغ SQL و دستورات T-SQL تا برنامه هات هم قابلیت شبکه داشته باشند و هم از هسته مرکزی قوی برخوردار باشند اینکه با ADOTable و کامپوننت ها و دستورات خود ADO برای مدیریت بانک اطلاعاتی استفاده کنی بد نیست اما برنامه ات Single User و چند کاربر نمی توانند با آن همزمان کار کنند

alî
25-03-2008, 21:44
من از SQL Server 2000 استفاده می کنم و adodataset

VDeveloper
25-03-2008, 23:52
یه نکته ای را به شما گوشزد کنم اگر می خواهی واقعا برنامه نویسی کنی برو سراغ SQL و دستورات T-SQL تا برنامه هات هم قابلیت شبکه داشته باشند و هم از هسته مرکزی قوی برخوردار باشند اینکه با ADOTable و کامپوننت ها و دستورات خود ADO برای مدیریت بانک اطلاعاتی استفاده کنی بد نیست اما برنامه ات Single User و چند کاربر نمی توانند با آن همزمان کار کنند
نکته ایی غیرفنی بود!
اینکه برنامه نویس کی از SQL استفاده کنه، بستگی به نوع پروژه و عوامل متعدد دیگه ایی داره. استفاده از SQL به معنی پشتیبانی از قابلیت شبکه و داشتن هسته مرکزی قوی(!!) و امثالهم نیست. همونطور که استفاده از کامپوننت های ADO نشانه ضعف برنامه نویس و ساختار برنامه نیست.

VDeveloper
25-03-2008, 23:55
منظور من اضافه کردن فیلد به جدول در دیتابیس نیست! می خوام یه فیلد موقتی به ADOTable اضافه کنم.
همون کاری که در DesignTime برای انجام دادنش در قسمت لیست فیلدهای جدول کلیک راست کرده و New Field را انتخاب می کنیم.
مقادیر این فیلد شما به چه شکلی بدست میان؟ معمول ترین راه اینه که فیلد Calculated بسازید.

F A R H A D
26-03-2008, 07:50
می خوام یه فیلد موقتی به ADOTable اضافه کنم.
همون کاری که در DesignTime برای انجام دادنش در قسمت لیست فیلدهای جدول کلیک راست کرده و New Field را انتخاب می کنیم
فيلد موقتي با در قسمت لیست فیلدهای جدول کلیک راست کرده و New Field را انتخاب می کنیم فرق داره. شما ميخواي با در هر بار اجراي برنامه يك فيلد رو اضافه كني (فيلدي كه پس از اتمام برنامه از بين خواهد رفت)؟

sepidehdam
22-05-2014, 10:58
کسی میتواند مرا در مورد دلفی 7 راهنمائی کند