PDA

View Full Version : سوال: ایجاد فایل sqlite در دلفی



hamid_14
سه شنبه 20 آبان 1393, 22:47 عصر
سلام
من در برنامه منوی فایل دارم که شامل گزینه های فایل جدید-ذخیره و ... می باشد,حالا مشکل اینجاست که هر زمان کاربر روی گزینه فایل جدید کلیک میکنه برنامه از یک فایل بدون اطلاعات sqlite کپی میگیره و در مسیری که کاربر در گزینه فایل جدید انتخاب کرده کپی و استفاده میشه.
1.آیا این کار اصولی هست؟
2.اگه این کار درسته برنامه تجاری هست که با این روش کارگرده باشه؟
3.چگونه از فایل خام محافظت کنم(مثلا جلوگیری از حذف آن توسط کاربر در هارد دیسک)؟
4.در صورتی که کار صحیحی نیست لطفا راهنمایی بفرمایید چگونه میشه این فایل در دلفی ایجاد کرد؟

متشکرم

یوسف زالی
چهارشنبه 21 آبان 1393, 11:28 صبح
سلام.
کپی کردن دی بی خالی ایرادی نداره و در شرکت ها هم استفاده می شه.
برنامه های تجاری (البته با اس کیو ال سرور) هم از همین روش استفاده می کنند. البته روش ساخت با اسکریپت هم انجام می شه که کمی بیشتر دردسر داره.
در مورد سوال سوم مطمئن نیستم اس کیو لایت این امکان رو داشته باشه که جلوی کپی شدن رو بگیره. اگر اصرار دارید، باید از روش های سیستمی حفاظت از فایل استفاده کنید که قابل دور زدن هم هستند. اگر محتویات دی بی کمه، می تونید محتویات رو کد کنید و در دی بی بریزید تا به درد کسی نخوره.

hamid_14
چهارشنبه 21 آبان 1393, 12:15 عصر
البته روش ساخت با اسکریپت هم انجام می شه که کمی بیشتر دردسر داره

لطفا اگه امکان داره راهنمایی بفرمایید چطوری تو دلفی میشه این فایل ایجاد کرد یا یک منبعی,لینکی و ... معرفی کنید.مرسی

یوسف زالی
چهارشنبه 21 آبان 1393, 13:58 عصر
باید دستورات اس کیو ال رو بلد باشید (DDL)
می تونید از کامپوننت هایی مثل EMS Export هم استفاده کنید تا خروجی اسکریپت اس کیو الی بگیرید. البته با تنظیماتش فقط می تونید جداول رو داشته باشید، اون هم شرایطی داره.
معمولا DBMS ها هم چنین امکانی دارند. مثلا Script گرفتن از دیتابیس اس کیو ال از خود محیط اس کیو ال به راحتی انجام می شه.
نوشتن کدی برای این کار که تمام اشیا رو بصورت اسکریپت منتقل کنه چندان سخت نیست.
اما باید بدونید که کدی که روی یک DBMD ران می شه لزوما روی دیگری ران نمی شه. مثلا SQL با MySQL خیلی جاها سازگار نیست.
اگر دقیقا می دونید هدفتون چه DBMS ی هست، می تونید استارت این کار رو بزنید. من هم کمکتون می کنم (هر وقت تونستم، بسته به زمان های آزادم)
یادتون نره که این فقط جداول نیستند که باید اسکریپت بشن، View ها، SP ها، Query ها، Form ها، Function ها، User ها، Role ها، Rule ها، Trigger ها، کلید ها، و ... همگی در صورت وجود می تونن اسکریپت بشن.
موفق باشید.

hamid_14
چهارشنبه 21 آبان 1393, 15:09 عصر
خوشبختانه اسکریپت کامل ایجاد جداول-ایندکس ها و ... هست ولی نمی دونم چطور فایل ایجاد کنم و با firedac این اسکریپت ها رو اجرا کنم تا جداول در فایل ایجاد بشه

یوسف زالی
چهارشنبه 21 آبان 1393, 15:19 عصر
دقیقا مثل اجرای یک دستور مثلا Insert باید رفتار کنید.
این رو هم بگم که هر قطعه از اسکریپت باید در یک مرحله ران بشه.