في الآونة الأخيرة ، بعد رؤية مقالين على CSDN حول "الوصول إلى ملفات JPEG إلى SQLServer في Delphi" ، شعرت أن الطريقة الموضحة فيها مرغوبة ، لكنها تستغرق وقتًا طويلاً. موثوقة ، لا أجرؤ على الاستمتاع بها بمفردي ، أنا على استعداد لنشره ومشاركته مع الجميع. تم تمرير الاختبار في Delphi7.0+Win2000+SQLServer 2000 ويتم الكشف عن الفكرة والرمز المصدر على النحو التالي:
حل:
1. المفتاح هو تحويل ملف JPEG المفتوح بشكل ديناميكي إلى كائن TBITMAP وعرضه في كائن TIMAGE ؛
2. إرسال الصورة المعروضة إلى قاعدة البيانات.
في هذا المثال ، تم إنشاء جدول مثال اختبار في SQLServer2000: الامتحان (XM char (10) ، صورة الصورة) ؛
رمز مصدر البرنامج:
وحدة حفظ.
واجهة
يستخدم
Windows ، الرسائل ، sysutils ، المتغيرات ، الفئات ، الرسومات ، عناصر التحكم ، النماذج ،
مربعات الحوار ، extdlgs ، extctrls ، dbctrls ، الشبكات ، dbgrids ، db ، adodb ، أزرار ،
stdctrls ، jpeg ؛
يكتب
tform1 = فئة (tform)
Speedbutton1: Tpeedbutton ؛
Adoconnection1: tadoconnection ؛
الجدول 1: tadotable ؛
DataSource1: tdatasource ؛
dbGrid1: tdbgrid ؛
dbimage1: tdbimage ؛
Image1: Timage ؛
Speedbutton2: tspeedbutton ؛
OpenPicturedialog1: Topenpicturedialog ؛
Label1: tlabel ؛
Label2: tlabel ؛
EDIT1: TEDIT ؛
Speedbutton3: Tpeedbutton ؛
الإجراء SpeedButton2Click (المرسل: tobject) ؛
الإجراء SpeedButton1click (المرسل: tobject) ؛
الإجراء Speedbutton3click (المرسل: tobject) ؛
خاص
{إعلانات خاصة}
عام
{الإعلانات العامة}
نهاية؛
var
Form1: Tform1 ؛
تطبيق
{$ r *.dfm}
الإجراء tform1.speedButton2Click (المرسل: tobject) ؛
var
BMP1: tbitmap ؛
JPG1: tjpegimage ؛
يبدأ
OpenPicturedialog1.Defaultext: = graphicextension (tjpegimage) ؛
إذا openpicturedialog1.execute ثم
يبدأ
BMP1: = tbitmap.create ؛
jpg1: = tjpegimage.create ؛
يحاول
jpg1.loadfromfile (OpenPicturedialog1.filename) ؛
bmp1.assign (jpg1) ؛
Image1.picture.bitmap.assign (BMP1) ؛
أخيراً
jpg1.free ؛
bmp1.free ؛
نهاية؛
نهاية؛
نهاية؛
الإجراء tform1.speedbutton1click (المرسل: tobject) ؛
يبدأ
Table1.Open ؛
Table1.insert ؛
Table1.FieldByName ('xm'). asstring: = edit1.text ؛
Table1.FieldByName ('photo'). issis (image1.picture) ؛
Table1.Post ؛
Table1.Refresh ؛
نهاية؛
نهاية.