امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
SQLite در دیگر زبان ها
نویسنده پیام
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #1
SQLite در دیگر زبان ها
سلام.
در اینجا هم قراره روش استفاده از SQLite در زبان های مختلف رو بگم.
بعضی زبان ها SQLite رو جزو کتابخونه شون دارن مثل php ، .net@mono و برای زبونهای زیاد دیگه ای هم رابط هایی توسط ملت ساخته شده.
رابط رسمی خود SQLite فقط همون توابع API هستن.
البته حساب C/C++ جداست ها.
خب. فعلا.

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۰-تير-۱۳۸۸, ۱۰:۵۹:۲۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : igimax
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #2
SQLite on PHP
PHP

اول بریم سر PHP .
خب توی PHP دو بخش برای کار با SQLite داریم. یکی SQLite و یکی SQLite3 .
قسمت SQLite تشکیل شده از یه سری توابع که اکثرا مثل توابعی هستن که برای همه دیتابیس ها PHP داره. مثل sqlite_open و sqlite_query و sqlite_fetch_array و ... . البته بعضی توابع SQLite رو هم مثل sqlite_create_function رو هم داره.
این بخش مثل این که از PHP5 به اینور وجود داره و تا اونجایی که من فهمیدم ورژن 2 و 1 SQLite رو پشتیبانی میکنه. و ورژن 3 رو هم نمیشناسه. با یه PHP5 میتونید با اکثر این توابع کار کنید. ( یکی دو تاشون 5.1 میخوان ).

یه لیست از چند تا از توابع مهمش :
sqlite_array_query —
اجرای یه query و برگردوندن نتیجه.
sqlite_changes —
نمایش تعداد سطر های متاثر شده از اجرای دستور قبلی.
sqlite_close —
بستن دیتابیس.
sqlite_column —
برگردوندن یه ستون از سطر جاری یه نتیجه.
sqlite_current —
دادن سطر جاری یه نتیجه بصورت یه آرایه.
sqlite_fetch_all —
برگردوندن کل سطر ها بصورت آرایه ای از آرایه ها.
sqlite_fetch_array —
برگگردوندن سطر بهدی نتیجه بصورت آرایه
sqlite_fetch_object —
برگگردوندن سطر بهدی نتیجه بصورت شیئ
sqlite_num_fields —
دادن تعداد فیلد های یک نتیجه
sqlite_num_rows —
دادن تعداد سطر یک نتیجه
sqlite_open —
باز کردن یه دیتابیس. اگه وجود نداشته باشه میسازه. با دادن :memory: به جان نام دیتابیس میتونید یه دیتابیس توی حافظه بسازید.
sqlite_query —
اجرای یه query

و یه مثال :
کد php:
<?php
if ($db sqlite_open('mysqlitedb'0666$sqliteerror)) { 
 
sqlite_query($db'CREATE TABLE foo (bar varchar(10))');
 
sqlite_query($db"INSERT INTO foo VALUES ('fnord')");
 
$result sqlite_query($db'select bar from foo');
 
var_dump(sqlite_fetch_array($result)); 
} else {
 die(
$sqliteerror);
}
?>
که من اینو تست کردم و دیتابیسی که ساخت ورژن 2 بود.

توی قسمت SQLite3 سه تا شیئ داریم. این قسمت به PHP 5.3 نیاز داره ( wamp من ورژنش 5.2.5 هسته. بدشانسی رو میبینید؟ یه 0.0.5 همش کم دارهAngry . بنابر این فعلا نمیتونم تست کنم) سه تا شیئ میشه :
--SQLite3
کار های معمول با دیتابیس مثل باز و بسته کردن و اجرای دستور ها. ساختن دستور (SQLite3Stmt) خطا یابی و ... . تابع query که برای اجرای دستوره نتیجه رو در قالب SQLite3Result برمیگردونه و با تابع prepare هم یه دستور رو به SQLite3Stmt ، برای انجام عملیات بیشتر ، تبدیل میکنیم.
SQLite3Stmt--
توابعی برای کار روی دستورات مثل افزودن پارامتر و اجرا کردن و ... .
SQLite3Result--
توابعی برای کار روی نتایج. مثل دادن نتایج به صورت آرایه.

و یه مثال
کد php:
<?php
$db 
= new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

$result $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>


در ضمن توی wamp جدید هم SQLiteManager اضافه شده (الان تو تایپیک برنامه های مدیریت معرفیش میکنم Biggrin (.
MyBB هم از هر دو ورژن 2 و 3 پشتیبانی میکنه Biggrin

تا بعد.

میزان رای دشمن است!
[تصویر:  cff100.png]
۱۰-تير-۱۳۸۸, ۱۳:۱۶:۲۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : amirjan


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال : چگونگی محافظت از بانک اطلاعاتی sqlite c0mmander 11 8,254 ۱۷-شهریور-۱۳۹۶, ۲۲:۲۰:۵۹
آخرین ارسال: رها96
  SQLite _Lotus_ 2 2,891 ۰۳-مرداد-۱۳۹۴, ۰۷:۵۹:۳۷
آخرین ارسال: _Lotus_
  برنامه های محاسبات عددی به زبان فرترن mostafa7043 1 2,420 ۲۲-آبان-۱۳۹۳, ۲۰:۵۲:۳۶
آخرین ارسال: omid_phoenix
  نحوه انتقال DLL پایگاه داده Sqlite acreza 5 7,875 ۰۴-آبان-۱۳۹۱, ۲۳:۳۲:۱۰
آخرین ارسال: f.beigirad
  برنامه های مدیریت SQLite ajlajlajl 1 6,495 ۱۰-تير-۱۳۸۸, ۱۵:۱۸:۴۶
آخرین ارسال: ajlajlajl
  SQLite ajlajlajl 11 18,307 ۱۰-تير-۱۳۸۸, ۱۱:۰۰:۰۰
آخرین ارسال: ajlajlajl

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS