SQLite Wrapper برای دلفی 2009 و دات نت 2 و 3.5

برای انجام پروژه ای نیاز به استفاده از بانک اطلاعتی SQLite در دلفی 2009 و دات نت فریم ورک 2 دارم، همانطور که می دانید به صورت پیش فرض RAD Studio و دات نت فریم ورک کلاسی برای کار با SQLite ندارند. پس از کمی جستجو در وب سایت ها و همچنین پیشنهاداتی که در سایت رسمی SQLite داده شده (اینجا) بود یکسری Wrapper را مورد بررسی قرار دادم. برای دلفی 2009 کامپوننت RemObjects AnyDAC 2.0 راه حل خوبی است اما متاسفانه رایگان نیست. البته نسخه شخصی و رایگان DISQLite3 هم می تواند نیاز من را برطرف کند. اما در این میان با کلاس ساده و مناسبی برخورد کردم که هم رایگان است و هم ساده. برای دات نت فریم ورک من قصد دارم از این در پروژه ام استفاده کنم.

SQLite for Microsoft .NET framework and Delphi 2009

برای دلفی 2009

آقای Tim Anderson برای استفاده خودش Wrapper مناسب و ساده ای نوشته و آن را در اختیار عموم قرار داده است. این Wrapper شامل سه کلاس پایه است که اعمال درج, حذف، به روز رسانی و واکشی داده ها از یک دیتابیس SQLite را انجام می دهند. این Wrapper همچنین از تراکنش های بانک اطلاعاتی (Commit, RollBack) پشتیبانی می کند اما متاسفانه از قابلیت هایی مثل Full-text search پشتیبانی نمی کند. این کلاس ها را نمی توان در حالت طراحی (Design Time) استفاده نمود و بایستی برای استفاده از این Wrapper از کلاس های مورد نیاز خود نمونه سازی کنید. در واقع شما از دو کلاس TSQLiteDatabase و TSQLIteTable برای دستیابی به فایل دیتابیس و اعمال تغییرات در آن استفاده می کنید. نکته ای که باید در نظر داشته باشید این است که این Wrapper را نمی توانید با کامپوننت های دیگر همچون Dataset ارتباط دهید، در نتیجه نمی توانید از کامپوننت های DBAware مثل DBText استفاده کنید و یا داده ها را به یک DBGrid بایند کنید.

برای دریافت این Wrapper به این صفحه از سایت Tim Anderson مراجعه کنید. همراه با کلاس های فوق، یک برنامه نمونه ساده هم موجود است که نحوه ی استفاده از آن را به سادگی توضیح داده است.

برای دات نت فریم ورک 2 و 3.5

ADO.NET 2.0 Provider for SQLite دارای یک فایل اسمبلی است که شامل موتور دیتابیس SQLite و کلاس های ADO.NET مورد نیاز برای دسترسی و استفاده از SQLite می باشد. به سادگی فایل اسمبلی این Wrapper را به Referenceهای پروژه خود اضافه می کنید و از فضای نام System.Data.SQLite به کلاس های داخل آن دسترسی پیدا می کنید. اسمبلی دیگر این Wrapper به شما اجازه استفاده از LINQ به SQLite را می دهد. نحوه استفاده از کلاس های این Wrapper دقیقاً مشابه استفاده از کلاس های دیگر Data Providerها مانند OleDb و Sql است. این Wrapper از .NET Compact Framework نیز پیشتبانی می کند، پس می توانید از SQLite در برنامه های مبتنی بر ویندوز موبایل بهره ببرید.

این Wrapper را می توانید از اینجا دریافت کنید. در زیر مثالی از ایجاد یک جدول در یک فایل دیتابیس SQLite با استفاده از این Wrapper به زبان سی شارپ را مشاهده می کنید.

SQLiteConnection con = new SQLiteConnection("Provider=System.Data.SQLite;Data Source=C:\\data.db");
con.Open();
SQLiteCommand cmd = new SQLiteCommand(con);
cmd.CommandText = "CREATE TABLE farasun (post_id INT, title TEXT(150), post VARCHAR)";
cmd.ExecuteNonQuery();

فقط توجه داشته باشید که بایستی فضای نام System.Data.SQLite را using کرده باشید. اگر نیازی به توضیح بیشتر و مثالی واضح تر بود، در نظرات اعلام کنید.

به یاد داشته باشید که SQLite یکی از مناسب ترین راه حل ها برای ذخیره داده های محلی است. نرم افزارهای معروفی مثل Firefox و Google Gears از SQLite به صورت توکار (Built-in) استفاده می کنند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

نسخه جدید FarsiLibrary را دانلود کنید!

مدتی قبل در همین وبلاگ کتابخانه ای به نام FarsiLibrary برای کار با تاریخ شمسی در پلت فرم دات نت معرفی کرده بودم (اینجا). چند وقتی است آقای اسکندری نسخه ای جدید از FarsiLibrary را منتشر کرده اند که مشکلات نسخه های پیشین را ندارد و شامل ویژگی های جدیدی است که آن راتبدیل به یکی از بهترین راه حل ها برای استفاده از تاریخ شمسی (عربی و میلادی) در نرم افزارهای مبتنی بر پلت فرم دات نت کرده است.

FarsiLibrary DatePicker - Office2007 Theme

FarsiLibrary DatePicker Office2007 Theme

نسخه جدید تغییرات گوناگونی نسبت به نسخه های قبل دارد که می توانید در وبلاگ آقای اسکندری (اینجا) مشاهده کنید. در این صفحه نیز به سئوالاتی که اغلب برنامه نویسان در مورد FarsiLibrary داشته اند، پاسخ داده شده است.

البته FarsiLibrary تنها یک DatePicker نیست و شامل کلاس های سودمند دیگری برای تبدیل تاریخ و تبدیل عدد به حروف نیز هست که می توانید همانند فرم های ویندوزی در پروژه های تحت وب نیز از آن ها استفاده کنید.

به علت اینکه FarsiLibrary بر اساس Cultureها کار میکند، شما بایستی برای استفاده از تقویم شمسی در برنامه خودتان به صورت زیر عمل کنید :

برای برنامه های سی شارپ بایستی به متد Main برنامه خود این خط را اضافه کنید :

System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("fa-IR");

و در برنامه های ویژوال بیسیک فایل Program.vb را باز کنید و خطوط زیر را به روتین Main اضافه کنید :

System.Threading.Thread.CurrentThread.CurrentUICulture = New CultureInfo("fa-ir")
System.Threading.Thread.CurrentThread.CurrentCulture = New CultureInfo("fa-ir")

دریافت آخرین نسخه های FarsiLibary

پ.ن : این پست جهت اصلاح  این صفحه از وبلاگ بود که خیلی از خوانندگان از ناقض بودن آن شاکی بودند. امیدوارم با این پست مشکل دوستان حل شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

باز کردن فرمت های مختلف با ATViewer در دلفی

برای برنامه نویسان دلفی ATViewer نام کامپوننتی است برای محیط دلفی که با استفاده از آن می توانید به برنامه خود قابلیت پیش نمایش انواع فایل ها با فرمت های مختلف را بدهید. این کامپوننت قابلیت «ویرایش» فایل را به شما نمی دهد اما راهکاری برای نمایش انواع فایل های متنی، باینری، مالتی مدیا، تصاویر و صفخات وب به شما ارائه می دهد. با استفاده از این کامپوننت می توانید برنامه ای بنویسید که اکثر فایل های معمول را برای کاربر باز کند. برنامه های معروفی همچون UniversalViewer، UltraExplorer و FreeCommander از این کامپوننت برای نمایش انواع فایل ها استفاده می کنند.

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

  • فایل های متنی : انواع فایل های متنی با فرمت TXT و RTF و پشتیبانی از یونیکد و UTF-8
  • انواع تصاویر : فرمت های معروف تصاویر : BMP, JPG, GIF, PNG, WMF و غیره.
  • مالتی مدیا : تمامی فرمت هایی که توسط Windows Media Player پشتیبانی می شوند از جمله : AVI, MPEG, MP3 و غیره. این فایل ها توسط اکتیو ایکس Windows Media Player پخش می شوند.
  • صفحات وب : تمامی فرمت هایی که توسط برنامه Internet Explorer باز می شوند : HTML و غیره. این فرمت ها توسط کنترل Browser دلفی که از مرورگر پیش فرض ویندوز استفاده می کند، باز می شوند.
  • پلاگین ها : فایل هایی که توسط پلاگین های Total Commander Lister پشتیبانی می شوند (wlx)

این کامپوننت کاملاً آزاد و تحت مجوز MPL 1.1 منتشر شده است، پس به رایگان آن را دریافت کنید و از آن لذت ببرید.

ATViewer را دریافت کنید!

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

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

به درخواست یکی از دوستان قصد دارم در این پست به معرفی کامپوننت های رایگان فشرده سازی برای محیط دلفی بپردازم. هر چند با یک جستجوی ساده نیز می توان به این اطلاعات دست پیدا کرد اما به هر حال من این دو کامپوننت را به دوستان علاقه مند معرفی می کنم.ZIP Icon

Abbrevia : ابزاری کاملاً رایگان و متن باز برای محیط های Delphi، C++ Builder و Kylix که فرمت های PKZIP 4، Microsoft CAB، TAR و gzip را پشتیبانی می کند و قابلیت ایجاد self-extracting archive را نیز دارا می باشد.

DelphiZIP : یک کامپوننت کامل برای کار با فرمت ZIP که سورس کد آن نیز در دسترس عموم است.

شما به راحتی قادر خواهید بود با استفاده از این دو کامپوننت یک برنامه فشرده ساز عالی طراحی کنید.

ساخت کامپوننت های اختصاصی در دلفی

همانطور که در اینجا توضیح دادم یکی از رهیافت های توسعه ی نرم افزار، توسعه ی مبتنی بر استفاده ی مجدد است. این رهیافت بر استفاده از مولفه های نرم افزاری قابل استفاده ی موجود تاکید فراوان دارد. در محیط های توسعه ی نرم افزاری این اصل باید رعایت شود. اگر تا به حال برنامه نویسی را در محیط های توسعه ی نرم افزار (مانند: Visual Studio) تجربه کرده باشید، احتمالاً با مفهوم کامپوننت آشنایی دارید. کامپوننت ها همان مولفه های نرم افزاری آماده و قابل استفاده در توسعه ی نرم افزارها در عمل می باشند. جزئیات پیاده سازی داخلی کامپوننت ها بر استفاده کننده آن کاملاً پوشیده است، (این خصوصیت را «پنهان سازی اطلاعات» می نامند) همچنین تمامی اجزای آن در قالب یک نام و به طور دسته بندی شده قابل دسترسی هستند (این خصوصیت را «کپسوله سازی اطلاعات» می نامند). هر چند کامپوننت ها از نظر پیاده سازی داخلی دارای ساختار نسبتاً پیچیده ای هستند اما استفاده از آن ها برای برنامه نویسان بسیار راحت و بی دردسر است.

ساختن کامپوننت ها در هر یک از محیط های توسعه ی نرم افزار دارای قوانین و روش های خاصی است. در این مطلب قصد دارم کتاب الکترونیکی رایگانی را برای آموزش ساخت کامپوننت های اختصاصی در دلفی 7 (محیط توسعه ی شرکت بولند) را معرفی کنم. این کتاب ترجمه ای است روان از مقالات مربوط به طراحی کامپوننت در بخش دلفی سایت about.com که توسط آقای دهقانیان انجام شده است.

download_32.jpgدانلود