程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> SQLServer數據庫與多媒體內容存取操作例子[Delphi代碼]

SQLServer數據庫與多媒體內容存取操作例子[Delphi代碼]

編輯:Delphi

Delphi演示如何在一個以多媒體內容為主的數據庫中插入數據,主要是文件和文件說明,若在開發音樂系統的或許多多少少會獲取到相關信息。操作RM文件、JPG、文件、BMP、Word文檔等讀寫數據庫。

多媒體數據庫的使用[Delphi代碼]

vIEw source print? 001 unit Unit1; 002 interface 003 uses 004   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 005   Dialogs, OleCtnrs, StdCtrls, DB, Grids, DBGrids, DBTables, Buttons, 006   ExtCtrls, DBCtrls,shellAPI; 007 type 008   TForm1 = class(TForm) 009     Table1: TTable; 010     DBGrid1: TDBGrid; 011     DataSource1: TDataSource; 012     Button1: TButton; 013     Edit1: TEdit; 014     Edit2: TEdit; 015     Label1: TLabel; 016     Label2: TLabel; 017     SpeedButton1: TSpeedButton; 018     OpenDialog1: TOpenDialog; 019     Label3: TLabel; 020     Label4: TLabel; 021     CheckBox1: TCheckBox; 022     procedure Edit2Change(Sender: TObject); 023     procedure Button1Click(Sender: TObject); 024     procedure SpeedButton1Click(Sender: TObject); 025     procedure Table1AfterScroll(DataSet: TDataSet); 026     procedure Edit1Change(Sender: TObject); 027     procedure CheckBox1Click(Sender: TObject); 028     procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X, 029       Y: Integer); 030     procedure Label4MouseDown(Sender: TObject; Button: TMouseButton; 031       Shift: TShiftState; X, Y: Integer); 032     procedure Label4MouseLeave(Sender: TObject); 033   private 034     { Private declarations } 035   public 036     { Public declarations } 037   end; 038 var 039   Form1: TForm1; 040 implementation 041 {$R *.dfm} 042 procedure TForm1.Edit2Change(Sender: TObject); 043 begin 044 If Length(Edit2.Text)>40 Then 045 Begin 046  ShowMessage('文字長度超過40,請重新填寫'); 047  Edit2.Focused; 048  end 049  Else; 050 end; 051 procedure TForm1.Button1Click(Sender: TObject); 052 begin 053   Table1.DatabaseName:=ExtractFilePath(ParamStr(0)); 054   Table1.TableName:='filesystem.db'; 055   Table1.open; 056   Table1.Append;            //追加記錄 057   Table1.Edit;              //編輯filesystem.db 058   Table1.FIEldByName('文件名').AsString:=Edit1.Text; 059   Table1.FIEldByName('文件說明').AsString:=Edit2.Text; 060   Table1.Post;              //將數據提交filesystem.db中 061 end; 062 procedure TForm1.SpeedButton1Click(Sender: TObject); 063 begin 064  If OpenDialog1.Execute Then 065   Edit1.Text:=ExtractFileName(OpenDialog1.FileName); //在Edit1中顯示文件名 066 end; 067 procedure TForm1.Table1AfterScroll(DataSet: TDataSet); 068 var 069   Icon : hIcon; 070   IconIndex : Word; 071   str:string; 072 begin 073  {抽取圖標} 074  Form1.Refresh; 075  str:='...\multis\'+Table1.FIEldByName('文件名').AsString; 076  Label3.Caption:='當前文件目錄:'+ExtractFilePath(ParamStr(0)); 077  Label4.Caption:=str; 078  Icon := ExtractAssociatedIcon(HInstance, 079  pchar(ExtractFilePath(ParamStr(0))+'multis\'+Table1.FIEldByName('文件名').AsString),IconIndex); 080  DrawIcon(Form1.Canvas.Handle,8,250,icon); 081 end; 082 procedure TForm1.Edit1Change(Sender: TObject); 083 begin 084 If Length(Edit2.Text)>20 Then 085 Begin 086  ShowMessage('文字長度超過20,請重新填寫'); 087  Edit1.Focused; 088  Button1.Enabled:=false; 089  end 090  Else Button1.Enabled:=True; 091 end; 092 procedure TForm1.CheckBox1Click(Sender: TObject); 093 begin 094  Table1.DatabaseName:=ExtractFilePath(ParamStr(0)); 095  Table1.TableName:='filesystem.db'; 096  If CheckBox1.Checked=False Then 097   Table1.Active:=False        //當沒有指示的時候,就關閉Table1,從而沒有數據顯示 098  Else 099  Table1.Active:=True; 100 end; 101 procedure TForm1.Label4MouseMove(Sender: TObject; Shift: TShiftState; X, 102   Y: Integer); 103 begin 104  Cursor:=crHandPoint;      //生成鏈接效果 105  Label4.Font.Color:=clBlue; 106 end; 107 procedure TForm1.Label4MouseDown(Sender: TObject; Button: TMouseButton; 108   Shift: TShiftState; X, Y: Integer); 109 begin 110  ShellExecute(handle,'open', 111  pchar(ExtractFilePath(ParamStr(0))+'multis\'+Table1.FIEldByName('文件名').AsString), 112  nil,nil,SW_RESTORE);//鏈接效果的代碼 113 end; 114 procedure TForm1.Label4MouseLeave(Sender: TObject); 115 begin 116   Cursor:=crDefault; 117   Label4.Font.Color:=clBlack; 118 end; 119 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved