PDA

نسخه کامل مشاهده نسخه کامل : Delphi + SQL



teshneh
18-09-2006, 11:55
با سلام خدمت دوستان دلفی کار
من بانک اطلاعاتی ام را با SQL درست کردم و با موفقیت وارد دلفی کردم .
اما حالا نوبت به گزارشگیری و Backup اون هست. در خود محیط SQL می دونم چطور باید این کارها را کرد، اما در دلفی نه .
1-پروژه من کتابخانه هست ،درقسمت گزارشگیری می خوام به صورت نمودار میله ای موجودیت نشریات را به من نشان دهد.
2-در قسمت Backup می خوام طوری با شد که کاربر با زدن یک دکمه در پایان روزکاریش از کل برنامه پشتیبان بگیرد و هر موقع اگر به هر دلیلی برنامه با مشکل روبرو شد بتواند از Backup اون استفاده کند.
منتظر راهنمایی شما هستم.

مرد مباح
18-09-2006, 12:48
براي سوال 2 ميتوني با يك دكمه يك كپي از فايل رو توي ديسكت يا مثلا window ذخيره كنيد.
در مورد سوال اول دقيقا نميدونم و بسته امكانات گزارش گيري كه ازش استفاده ميكنيد داره.

MAR_Programmer
19-09-2006, 08:41
سلام
در مورد سوال اول دقيق منظورت رو نگفتي اما من اينطوري برداشت كردم كه مي خواهي هر نشريه رو به صورت جدا تعداد كتابهاشو بدست بياري
براي اين كار از گروه كردن استفاده كن و به صورت دستي داخل اس كيو ال فيلد تعداد اونو جمع كن بعد مقدار اون فيلد رو بخون

teshneh
20-09-2006, 12:11
با سلام
در مورد سوال اولم ،من وقتی از بانک اطلاعاتی پارادوکس استفاده می کردم از روش زیر می رفتم
File > New > Other > Business > Teechart Wizard
حالا که بانک اطلاعاتی من SQL هست، می خوام نمودارهای مثل روش بالا داشته باشم ،نمی دونم چه کار باید کنم ؟؟؟
در مورد سوال دوم ،می خوام پشتیبان گیری به صورت برنامه نویسی با کدهای دلفی باشه که درصد اعتماد و اطمینان به کار بالا رود.
جناب مباح من قبلا از روش زیر استفاده کردم شاید منظورتان اینه ،اگر اینطور نیست شما بیشتر توضیح دهید.
از تب system ،عنصر OLE انتخاب کنید و بعد مسیر فایل ویندوز که Backup میگیره به اون بدیم.

از اینکه جواب دادید ممنون هستم منتظر راهنمایی شما هستم.
اگر وبلاگی یا تاپیکی را می شناسید که این دو مورد سوال مرا آموزش داده است ممنون میشم آدرس بدید.

Mahmood_N
21-09-2006, 04:07
جناب مباح من قبلا از روش زیر استفاده کردم شاید منظورتان اینه ،اگر اینطور نیست شما بیشتر توضیح دهید.
از تب system ،عنصر OLE انتخاب کنید و بعد مسیر فایل ویندوز که Backup میگیره به اون بدیم.
سلام دوست من ...
روش BackUp گیری چیزی جز کپی کردن فایل بانک اطلاعاتی توی یه جای دیگه نیست ...
راستش من روش شما رو امتحان نکردم ولی اصل BackUp گیری اینه که فایل بانکت رو یه جای دیگه هم ذخیره کنی که اگه مشکلی پیش اومد دوباره اونا رو وارد کنی ...
موفق باشی ...

teshneh
22-09-2006, 20:13
از اينكه جواب داديد ممنون.
دوستان كسي نمي خواهد در مورد گزارش گيري مرا راهنمايي كند؟؟؟

mahdi bg
22-09-2006, 22:21
سلام


teshneh جان

برای رسم چارت از کامپوننت زیر استفاده کنی
SimChart

خودم تا حالا ازش استفاده نکردم
و نمی دونم چه چارتهای رو رسم می کنه
امیدورام چارت می له ای رو رسم کنه
کن موفق باشی

براي Backup گیری بهتر از کپی گرفتن فایل های
SQL استفاده کنی البه موقع بازخوانی باید با دلفی
SQL Server رو Stop کنی
یا از دستورات SQL استفاده کنی

teshneh
22-09-2006, 22:32
سلام
اگر میشه مراحلش را به صورت جز به جز بگید آخه ما مبتدی هستیم.
این سيم چارت كجاست؟ كامپوننت سيم چارت را بايد نصب كنم و اين كپي كردنه اگر دستوراتي داره لطف كنيد بگيد ممنون ميشم.

mahdi bg
23-09-2006, 05:56
سلام

اینها شاید شما بدونید ولی کسی که تاحلا
SQL کار نکرده ممکن ندونه

هنگام ساختن Database در SQL دو تا فایل
مجزا ساخته می شه که برای Back up و Restore کردن باید
دوتاشون کپی بشن
با دستور زیر باید دوتا فایل
.MDF و .LDF رو کپی کنی توی یه مسیر
دلخواه


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

براي backup
Source رو باید .LDF و .MDF و Destination محل Backup
گیری

برای بازخوانی بر عکس حالت بالاست
فقط یه نکته قبل باز خوانی باید دلفی رو Stop کنی(وگرنه پیغام این که
برنامه دیگری در حال استفاده از این فایل است رو می ده)

Simchart رو هم باید نصب کنی
تاپیک نصب کامپوننت رو نگاه کن یه کم باهاش ور بری
میتونی ازش استفاده کنی

teshneh
25-09-2006, 00:38
سلام
از توضیحات شما ممنون هستم ولی اگر میشه به زبان ساده تر توضیح دهید.

mahdi bg
26-09-2006, 03:55
سلام:

teshneh جان

می شه بگی کجاشو نفهمیدی؟؟؟؟؟
فکر نکنم جایش گنگ باشه.

اگه در مورد چارت مشکل داری بگو تا من
هم کامپوننت رو نصب کنم و بعد از ور رفتن
باهاش خبر رو بهت بدم

teshneh
26-09-2006, 12:11
سلام
اين موارذي كه شما گفتيد وقتي بخوام توي دلفي اجرا كنم دقيقا نمي دونم از كجا بايد شروع كنم و چه كار كنم.
مثلا اين پردازه ي كه شما گفتيد كجا فراخواني كنم ؟با چه عنصري؟اون stop و... را هم چطور انجام دادن در دلفي مشكل دارم.
هنوز تاپيك نصب كامپوننت را پيدا نكردم اگر ميشه لينكش را اينجا بزاريد.
از همكاري شما ممنون هستم.

MasterData
26-09-2006, 14:05
ببيند عزيزان دلم
مشكل شما اينه كه از SQL Server فقط براي ساختن جدوال استفاده مي كنيد . اگه يه كتاب اس كيو ال بگيري بخوني مي بيني خود sql تمام امكنات پشتيباني رو فراهم كرده و نيازي نيست شما فايلهاي ديتابيس رو كپي كنين

teshneh
26-09-2006, 17:42
با سلام خدمت جناب masterdata
منظور شما اینه که اگر یک برنامه با دلفی و پایگاه داده اسکیوال نوشته می شود لازم نیست یک قسمت به نام پشتیبان گیری در این برنامه گنجانده شود؟؟؟؟

mahdi bg
27-09-2006, 04:45
سلام

لينك نصب كامپوننت

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

teshneh
27-09-2006, 07:54
سلام
mahdi bg عزیز ،اگر میشه مراحل پشتیبان گیری را به صورت عملی در دلفی بگید . منتظر راهنمایی شما هستم.

mahdi bg
28-09-2006, 05:18
سلام

teshneh جان

یه سوال تا چه حد با زبان SQL آشنا هستی؟(خیلی مهم)
منتظر جوابت هستم

با زبان SQL می شه این کار رو راحت انجام داد
اما اگه با ADOTABLE کار می کنی راهی غیر از
روش بالا بلد نیستم و نمی دونم دیگه چطوری باید توضیحش
بدم (اگه بقیه دوستان می تونن کد بالا رو برای teshneh توضیح بدن)
اما گفتم که اگه با SQL آشنا باشی می شه تمام کارهای
را که فکرشو بکنی می شه باهاش انجام داد از
Delete و Insert و... گرفته تا Backup و Restore و...
به یه عبارت ساده تر با SQL همه کار با DataBase می شه کرد
{ولی تو انجمن کمتر کسی با SQL آشنایی داره و خیلی ها
با ADOTABEL کار می کنن}

يه نگاه به تاپيك زير بنداز
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

MAR_Programmer
28-09-2006, 09:21
سلام
استفاده كن ولي به جاي اس كيو ال بايد از تيبل استفاده كني Bach Move از
خيلي راحت هم مي توني يه بك آپ بگيري هم اينكه بك آپ رو برگردوني

teshneh
28-09-2006, 21:09
سلام
Mahdi bg گل
پرسیده بودید: تا چه حد با sql آشنا هستی؟؟؟
جواب: خیلی زیاد نیست اونقدر هست که میشه تیتروار آنها را گفت:
1-ساختن پایگاه داده جدید
2-ساختن جدول
3-پشتیبان گیری
4-اتصال کردن جداول
5-ساختن Defaults
6-ساختن نوع داده سفارشی
7-دستورات select,update,delete,create table,alter table,drop table,drop index
من اینها رو در خود محیط SQL بلدم انجام بدم ، اگر بخوام با پایگاه داده ای که در محیط دلفی دارم این کارها را روی اون انجام بدم نمی توانم، یعنی بلد نیستم.
در ضمن در یک فرم دلفی با استفاده از عناصر زیر محتویات یک جدول به نمایش درآمده است:
ADO Connection,ADO Table,Data Source

حالا با این اطلاعات وسیع :sad: شما راهنمایی کنید. :blush:
راستی به این تاپیک سر زدم و فایل رو هم unpack کردم و اگر درست رفته باشم توی دلفی هم نصب کردم ، حالا چطور از پایگاه داده ام پشتیبان بگیرم؟ :blink:

mahdi bg
29-09-2006, 06:32
سلام

MAR_Programmer عزیز


سلام
استفاده كن ولي به جاي اس كيو ال بايد از تيبل استفاده كني Bach Move از
خيلي راحت هم مي توني يه بك آپ بگيري هم اينكه بك آپ رو برگردوني

میشه در مورد Bach Move یه کم توضیح بدی خیلی ممنون می شم
جملت هم یه کم گنگ بود من که دقیق نفهمیدم یعنی چی

استفاده كن(از چی استفاده کنم) ولي به جاي اس كيو ال
بايد از تيبل استفاده كني(یعنی چی و چرا ؟ اس كيو ال استفاده نکنم؟
تیبل چیکاره است)
Bach Move از
خيلي راحت هم مي توني يه بك آپ بگيري هم اينكه بك آپ رو برگردوني
(اگه بگی چطوری ممنون میشم)

mahdi bg
29-09-2006, 06:36
سلام:

Teshneh عزیز


سلام
Mahdi bg گل
پرسیده بودید: تا چه حد با sql آشنا هستی؟؟؟
جواب: خیلی زیاد نیست اونقدر هست که میشه تیتروار آنها را گفت:
1-ساختن پایگاه داده جدید
2-ساختن جدول
3-پشتیبان گیری
4-اتصال کردن جداول
5-ساختن Defaults
6-ساختن نوع داده سفارشی
7-دستورات select,update,delete,create table,alter table,drop table,drop index
من اینها رو در خود محیط SQL بلدم انجام بدم ، اگر بخوام با پایگاه داده ای که در محیط دلفی دارم این کارها را روی اون انجام بدم نمی توانم، یعنی بلد نیستم.
در ضمن در یک فرم دلفی با استفاده از عناصر زیر محتویات یک جدول به نمایش درآمده است:
ADO Connection,ADO Table,Data Source

حالا با این اطلاعات وسیع :sad: شما راهنمایی کنید. :blush:
راستی به این تاپیک سر زدم و فایل رو هم unpack کردم و اگر درست رفته باشم توی دلفی هم نصب کردم ، حالا چطور از پایگاه داده ام پشتیبان بگیرم؟ :blink:

اولا خودتم گلی

دوم

توی دلفی یک کامپوننت به نام ADOQuery وجود داره در قسمت ADO
که یه خاصیت به نام SQL که فرمانت رو داخلش می نویسی
بعد اجرا می کنی

با دونستن این دستورات می تونی به راحتی پیشرفت کنی

مثلا:

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

به همین راحتی می تونی تمام دستورات SQL رو اجرا کنی
یا هر دستور دیگه ای رو که بخواهی می تونی استفاده کنی


توی زبان SQL یه دستور برای Backup گیری وجود داره
یه Search توی Help ، SQL بزن Syntax شو پیدا می کنی
بعد ازش استفاده کن

اگه سوالی داشتی و تونستم جواب بدم در خدمتم

teshneh
01-10-2006, 08:15
سلام
mahdi bg گل
از توضیحات شما ممنون هستم فوق العاده بود.(واقعا مفید)
من نتونستم با help فرمت backup را پیدا کنم ،در واقع هر چی من سرچ کردم بی فایده بود چیز به درد بخوری نتونستم پیدا کنم.

MasterData
01-10-2006, 18:45
سلام
من الان sql server ندارم كه بتونم دستورات رو كامل توضيح بدم
ولي خود sql server دستوري به نام backup داره كه شما با تنظيم پارامترهاي لازم مي تونيد يك پشتيان كامل از ديتابيس تهيه و نگهداري كنيد
بهتره براي اين جور كارا از stored procedure يا function استفاده كنيد

mahdi bg
03-10-2006, 03:57
سلام:

Teshneh عزیز

توی Help مربوط به Query Analyzer رو جستجو کن
مطمئن باش پیدا می کنی Backup رو Search بزن

چرا از Backup گیری خودکار SQL Server رو فعال
نمی کنی که هر روز یا هر هفته و یا ..... بطور خودکار یه Backup
از DataBase بگیره؟

mahdi bg
03-10-2006, 03:59
سلام

MAR_Programmer عزیز

میشه در مورد Bach Move یه کم توضیح بدی خیلی ممنون می شم

teshneh
03-10-2006, 08:31
سلام
جناب mahdi bg عزیز
من از Query Analyzer برای پیدا کردن فرمت backup استفاده کردم ولی نشد...
در مورد استفاده از backup گیری خود اس کیو ال،چون این برنامه واگذار می شود نمی خوام طوری باشه که هر جا رفت حتما اس کیو ال با اون نصب بشه.
در مورد batch move که پرسیده بودید من از کتاب برنامه نویسی با دلفی آقای قمی استفاده می کنم که این اطلاعات در آن بود.
عنصر Batch Move ،برای کپی کردن رکوردهای یک جدول در جدول دیگر به کار می رود . از عناصر غیر ویژوال است.برخی از خواص آن به شرح زیر است:
source,destination,mappings,mode
اگر این توضیحات مفید بود و خواستید بگید تا توضیح در مورد هر کدام از خصوصیات هم برایتان بنویسم.

mahdi bg
05-10-2006, 04:44
سلام

teshneh عزیز


سلام
در مورد استفاده از backup گیری خود اس کیو ال،چون این برنامه واگذار می شود نمی خوام طوری باشه که هر جا رفت حتما اس کیو ال با اون نصب بشه.
QUOTE]

داری شوخی می کنی
معلومه که دفعه اول که داری برنامه می نویسی
میشه بگی چه برنامه ای

اگه پایگاهت SQL Server باشه مجبوری هر
جا که برنامتو نصب کنی SQL Server نصب بشه
چون Windows پایگاه های SQL Server رو Support
نمی کنه با این که دو تاشون(Windows و SQL Server)
محصول خود Microsoft هستن (خودم نمی دونم چرا؟؟)
این بیلی هم بعضی وقتها یه کارا می کنه که آدم شاخ در می یاره
خودشو ضایع می کنه

اگه می خواهی SQL Server نصب نکنی بهتر از Access استفاده کنی
چون Windows پایگاه های Access رو Support می کنه و احتیاجی به
نصب Access نداری

پس


[QUOTE]چرا از Backup گیری خودکار SQL Server رو فعال
نمی کنی که هر روز یا هر هفته و یا ..... بطور خودکار یه Backup
از DataBase بگیره؟

MasterData
05-10-2006, 15:56
داری شوخی می کنی
معلومه که دفعه اول که داری برنامه می نویسی
میشه بگی چه برنامه ای

اگه پایگاهت SQL Server باشه مجبوری هر
جا که برنامتو نصب کنی SQL Server نصب بشه
چون Windows پایگاه های SQL Server رو Support
نمی کنه با این که دو تاشون(Windows و SQL Server)
محصول خود Microsoft هستن (خودم نمی دونم چرا؟؟)
این بیلی هم بعضی وقتها یه کارا می کنه که آدم شاخ در می یاره
خودشو ضایع می کنه

اگه می خواهی SQL Server نصب نکنی بهتر از Access استفاده کنی
چون Windows پایگاه های Access رو Support می کنه و احتیاجی به
نصب Access نداری

شما اگه از پايگاه sql استفاده کنی فقط لازمه که کامپوننتهای لازم رو نصب کنی نه تمام sql server
گذشته از این پس شما اعتقاد دارید که شرکت مایکروسافت بیکار بوده که sql server رو تولید و پشتیبانی میکنه چون الان نسخه 2005 هم اومده . اونوقت شما در مورد اوراکل چی میگید؟ لابد اونم هزینه اضافی داشته که داره همچین غول بی شاخ و دمی رو طراحی و پشتیبانی میکنه
هرکس به اندازه نیازهای خودش از امکانات نرم افزارهای موجود استفاده میکنه
در ضمن همه جای دنیا مثل ایران با پرداخت 1000 تومان نمی تونن یه نرم افزار رو که فلان دلار ارزش داره خریداری کنن

teshneh
05-10-2006, 16:47
سلام
از توضيحات شما دو ستان ممنون.
نتيجا من هر جا اين برنامه رو بخوام ببرم بايد sql server نصب باشه؟؟؟

MasterData
06-10-2006, 16:07
نتيجا من هر جا اين برنامه رو بخوام ببرم بايد sql server نصب باشه؟؟؟
هر كه طاووس خواهد جور هندوستان كشد
البته اگه تعداد ركوردهاي برنامه شما در اينده از حدود ده هزار ركورد تجاوز نميكنه اكسس بهتره ولي ضريب امنيت پايين تري داره

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

البته من در اکسس برای پشتبانی دیتابیس رو فشرده و بعدا توی مسیر مورد نظر قرار می دادم

teshneh
07-10-2006, 11:32
با سلام و تشکر از دوستانی که در این بحث شرکت کردند.
Masterdata جان ،من قاتی کردم یه توضیح در مورد کارم می دم تا بهتر مرا راهنمایی کنید.
برنامه ای که با دلفی می نویسم کتابخانه است حال من نمی دونم در آینده رکوردهاش تا چقدر پیشروی خواهند کرد شاید به 10000 برسند وبیشتر هم شوند شاید هم از این رقم کمتر شوند.
یه چیز پیشنهاد: اگر یه مقایسه بین بانک اطلاعاتی که با اس کیو ال هستند و اونهای که با اکسس نوشته می شوند ارائه دهید، هم برای من و هم بقیه دوستانی که با بانک اطلاعاتی کار می کنند، خیلی مفید واقع میشه،
مثلا امنیت،نحوه پشتیبان گیری ،گزارشگیری،نحوه انتقال از یک کامپیوتر به کامپیوتر دیگه و موارد دیگر که باید یک برنامه نویس به آنها برای انتخاب یک پایگاه داده مناسب با برنامه اش در نظر بگیرد.
اگر دوستان صاحب نظر دیگر هم اطلاعات شان را ارائه دهند ممنون میشم.

mahdi bg
08-10-2006, 04:39
سلام

MasterData عزيز


شما اگه از پايگاه sql استفاده کنی فقط لازمه که کامپوننتهای لازم رو نصب کنی نه تمام sql server
گذشته از این پس شما اعتقاد دارید که شرکت مایکروسافت بیکار بوده که sql server رو تولید و پشتیبانی میکنه چون الان نسخه 2005 هم اومده . اونوقت شما در مورد اوراکل چی میگید؟ لابد اونم هزینه اضافی داشته که داره همچین غول بی شاخ و دمی رو طراحی و پشتیبانی میکنه
هرکس به اندازه نیازهای خودش از امکانات نرم افزارهای موجود استفاده میکنه
در ضمن همه جای دنیا مثل ایران با پرداخت 1000 تومان نمی تونن یه نرم افزار رو که فلان دلار ارزش داره خریداری کنن

اولا
حق با شماست بعضي جاها(توي متن)

دوما
من نمی گم Microsoft بیکاره که اینا رو تولید و
پشتیبانی می کنه. من می گیم چه خوب می شد که مثل
فایل های Access که توسط Windows پشتیبانی فایل های
SQL Server هم پشتیبانی می شد.
در ضمن Access بیشتر برای حالت آموزشی و برنامه های کوچیکه
نه تجاری های خیلی بزرگ و اساسی.
مثلا Apple تمام نرم افزارهای تولیدی
شرکت رو Support می کنه حداقل تا اونجای
که من می دونم