یادداشت های برنامه نویس

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

یادداشت های برنامه نویس

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

شماره اتوماتیک در Firebird

با سلام خدمت دوستان و همراهان عزیز

یکی از مشکلات FB نداشتن شماره اتوماتیک autoincerement است برای اینکه در فیلدهاتون شماره اتوماتیک داشته باشید باید روندی را طی کنید.

ابتدا باید برای فیلدتون یک Generator ایجاد کنید. اگر از ide استفاده می کنید برای ساخت جدول هاتون این کار به سادگی صورت می پذیرد.

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

GEN_ID(GEN_T1_ID, 1)

این مقدار باید به جای مقدار فیلد شماره اتوماتیک وارد شود

Insert into  t1(id,b) values GEN_ID(GEN_T1_ID, 1),'sssssssss');


GEN_T1_ID نام generator شما است.



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

به این شکل

SET TERM ^ ;



CREATE OR ALTER TRIGGER Auto_id FOR T1
ACTIVE BEFORE INSERT POSITION 0
AS
begin
 if (NEW.id is NULL) then NEW.id = GEN_ID(gen_T1_id, 1);
 else   NEW.id = GEN_ID(gen_T1_id, 1);
end
^


SET TERM ; ^

البته این تریگر تجربه شخص خودمه چون سایت FB یک جور دیگه نوشته بود کلی باهاش مصیبت داشتم در دلفی!!


موفق باشید

دیتابیس رایگان و متن باز Firebird

FireBird نام یک دیتابیس رایگان و متن باز و بسیار قدرتمند و با امکان عالی  است. خودم در ابتدا این دیتابیس را قبول نداشتم و اصرار بر استفاده از Mysql داشتم اما بعد از بررسی چند ماهه و تست خودم و عده ای از دوستان و بحث بر بررسی در فروم برنامه نویس به قدرت این دیتابیس پی بردم و هم کنون هم در حال مهاجرت به این دیتابیس هستم.
FB چون متن باز است توسط برنامه نویسان زیادی تست و بررسی و مشکلاتش بر طرف می شود (مانند سیستم عامل لینوکس) همچنین این قابلیت داره که توسط خود شما مطابق خواسته هایتان تغییر دهید Mysql گر چه یک دیتابیس رایگان است هم متن باز نیست و سورس تنها نزد شرکت اراسل موجود است چنانچه شرکت این محصول پشتیبانی نکند .... .
یکی از قابلیت خوب Fb قابلیت اجرا در سیستم عامل مختلف از جمله لینوکس و... می باشد و همچنین بسیار سبک حدود 8 مگابایت می باشد نسخه Embedded آن بسیار عالی برای نرم افزارهای تک کاربره می باشد.

اطلاعات بیشتر

hسایت رسمی فایربرد : http://firebirdsql.org/
اخبار مرتبط با فایربرد : http://www.firebirdnews.org/
طرح سوالات مرتبط با فایربرد : http://www.firebirdfaq.org/
فایربرد چیست؟ : http://en.wikipedia.org/wiki/Firebir...base_server%29
فایربرد برای مبتدیان : http://www.ibprovider.com/eng/docume.../firebird.html

---
یک ویدئوی آموزشی بسیار مفید از جناب  شاهین عشایری که برای آشنایی با فایربرد واقعا گزینه ی خوبیه :
http://www.irstu.com/?p=7261