使用Delphi怎麼連線SQL資料庫
阿新 • • 發佈:2019-02-19
使用Delphi如何連線SQL資料庫?
最好能說的詳細點
------解決方案--------------------
使用ADO連線SQL Server 2000資料庫
1.用ADO元件TADOQuery連線資料庫
用TADOQuery元件連線資料庫需要以下幾個步驟:
(1)用TADOConnection元件連線資料來源(在ConnectionString屬性中連線資料庫的字串可以根據需要對其進行相應的省略)。
(2)用TADOQuery元件連線資料來源,並在SQL屬性中輸入SQL語句。
(3)將TADOQuery元件的Active屬性設為True。
在SQL屬性中可以輸入任何形式的SELECT語句,以及INSERT(新增)、UPDATE(修改)和DELETE(刪除)語句。
下面利用TADOQuery元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_ Student”表的資料,如圖1所示。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOConnection、TADOQuery、TDataSource和TDBGrid元件。
圖1 用ADO元件TADOQuery連線資料庫
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADOConnection1.ConnectionString := 'User ID=sa;Initial Catalog=MR_SQL;
Data Source=.;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;
Workstation ID=MRDEL'; //連線指定的資料庫
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
ADOQuery1.Connection := ADOConnection1; //連線資料來源
with ADOQuery1 do //用ADO元件連線資料表
begin
close;
SQL.Clear;
SQL.Add('Select * from MR_Student'); //使用SQL語句查詢資料表中的內容
open;
end;
ADOQuery1.Active := True;
DataSource1.DataSet := ADOQuery1;
DBGrid1.DataSource := DataSource1;
end;
2.用ADO元件TADODataSet連線資料庫
TADODataSet元件允許直接訪問資料來源、建立一組資料來源記錄以及查詢結果記錄集。TADODataSet元件可以從一個或多個表中取資料。如果只訪問一個表,需要指定表的名稱;如果要訪問多個表,需要使用SQL語句。
TADODataSet元件與TADOQuery元件的最大區別在於可以使用TADODataSet元件上CommandText屬性右邊的 按鈕,對指定資料庫中的所有資料表進行視覺化選擇並建立SQL語句,如圖2所示。
圖2 CommandText屬性的編輯器
注意:在使用CommandText屬性的編輯器時,應先在ConnectionString屬性中使用手動連線資料來源。
下面利用TADODataSet元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_Student”表的資料。
操作步驟如下:
(1)執行Delphi,在窗體中新增TTADODataSet、TDataSource和TDBGrid元件。
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADODataSet1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.'; //連線資料來源
ADODataSet1.CommandText := 'select * from MR_Student'; //用SQL語句查詢資料表資訊
ADODataSet1.Active := True; //執行該元件
end;
3.用ADO元件TADOTable連線資料庫
TADOTable(也稱為ADO資料表)元件是一個數據集元件,封裝了一個可訪問ADO的資料表,使用TADOTable元件可訪問單個數據表中的資料,它可以直接訪問資料表中的每條記錄,也可以用Filter屬性根據限定範圍或條件對資料表中的資訊進行過濾。
TADOTable元件也可以通過TableName屬性對資料庫中的資料表進行視覺化選擇。
注意:在用TableName屬性進行視覺化選擇時,應先在ConnectionString屬性中使用手動連線資料來源。
下面是利用TADOTable元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_Student”表的資料。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOTable、TDataSource和TDBGrid元件。
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADOTable1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.';
ADOTable1.TableName := 'MR_Student';
ADOTable1.Filtered := True;
end;
4.用ADO元件TADOCommand連線資料庫
TADOCommand元件主要用來對資料來源執行指定的命令,比如SQL語句,表和儲存過程的名稱,對資料進行新增、修改、刪除等操作。雖然其他ADO組體也能執行以上操作,但需要使用Command本身的屬性和方法來控制資料來源,使用TADOCommand元件就方便得多。
在用TADOCommand元件對資料進行編輯時,應在Parameters屬性中建立變數,這些變數應與編輯欄位的型別相一致,如果在SQL語句後面沒有WHERE子句,則對整個表進行編輯。
下面利用TADOCommand元件來連線資料庫“MR_SQL”,並對“MR_Student”表中的“數學”欄位進行修改。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOTable、TEdit和TButton元件。
(2)主要程式程式碼如下:
在Button1按鈕的單擊事件中寫入以下程式碼。
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOCommand1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.'; //連線資料來源
//用SQL語句UPDATE修改MR_Student表中第一條記錄的“數學”欄位資訊
ADOCommand1.CommandText:='UPDATE MR_Student SET 數學 = 數學 + :aa where 編號=1';
//在TADOCommand元件中設定變數,並通過該變數獲取修改值
ADOCommand1.Parameters.ParamByName('aa').Value := StrtOInt(edit1.Text);
ADOCommand1.Execute; //執行修改操作
end;
最好能說的詳細點
------解決方案--------------------
使用ADO連線SQL Server 2000資料庫
1.用ADO元件TADOQuery連線資料庫
用TADOQuery元件連線資料庫需要以下幾個步驟:
(1)用TADOConnection元件連線資料來源(在ConnectionString屬性中連線資料庫的字串可以根據需要對其進行相應的省略)。
(2)用TADOQuery元件連線資料來源,並在SQL屬性中輸入SQL語句。
(3)將TADOQuery元件的Active屬性設為True。
在SQL屬性中可以輸入任何形式的SELECT語句,以及INSERT(新增)、UPDATE(修改)和DELETE(刪除)語句。
下面利用TADOQuery元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_ Student”表的資料,如圖1所示。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOConnection、TADOQuery、TDataSource和TDBGrid元件。
圖1 用ADO元件TADOQuery連線資料庫
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADOConnection1.ConnectionString := 'User ID=sa;Initial Catalog=MR_SQL;
Data Source=.;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;
Workstation ID=MRDEL'; //連線指定的資料庫
ADOConnection1.LoginPrompt := False;
ADOConnection1.Connected := True;
ADOQuery1.Connection := ADOConnection1; //連線資料來源
with ADOQuery1 do //用ADO元件連線資料表
begin
close;
SQL.Clear;
SQL.Add('Select * from MR_Student'); //使用SQL語句查詢資料表中的內容
open;
end;
ADOQuery1.Active := True;
DataSource1.DataSet := ADOQuery1;
DBGrid1.DataSource := DataSource1;
end;
2.用ADO元件TADODataSet連線資料庫
TADODataSet元件允許直接訪問資料來源、建立一組資料來源記錄以及查詢結果記錄集。TADODataSet元件可以從一個或多個表中取資料。如果只訪問一個表,需要指定表的名稱;如果要訪問多個表,需要使用SQL語句。
TADODataSet元件與TADOQuery元件的最大區別在於可以使用TADODataSet元件上CommandText屬性右邊的 按鈕,對指定資料庫中的所有資料表進行視覺化選擇並建立SQL語句,如圖2所示。
圖2 CommandText屬性的編輯器
注意:在使用CommandText屬性的編輯器時,應先在ConnectionString屬性中使用手動連線資料來源。
下面利用TADODataSet元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_Student”表的資料。
操作步驟如下:
(1)執行Delphi,在窗體中新增TTADODataSet、TDataSource和TDBGrid元件。
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADODataSet1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.'; //連線資料來源
ADODataSet1.CommandText := 'select * from MR_Student'; //用SQL語句查詢資料表資訊
ADODataSet1.Active := True; //執行該元件
end;
3.用ADO元件TADOTable連線資料庫
TADOTable(也稱為ADO資料表)元件是一個數據集元件,封裝了一個可訪問ADO的資料表,使用TADOTable元件可訪問單個數據表中的資料,它可以直接訪問資料表中的每條記錄,也可以用Filter屬性根據限定範圍或條件對資料表中的資訊進行過濾。
TADOTable元件也可以通過TableName屬性對資料庫中的資料表進行視覺化選擇。
注意:在用TableName屬性進行視覺化選擇時,應先在ConnectionString屬性中使用手動連線資料來源。
下面是利用TADOTable元件來連線資料庫“MR_SQL”,並顯示“MR_SQL”資料庫中“MR_Student”表的資料。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOTable、TDataSource和TDBGrid元件。
(2)主要程式程式碼如下:
將下面的程式碼寫入窗體的OnShow(顯示)事件中。
procedure TForm1.FormShow(Sender: TObject);
begin
ADOTable1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.';
ADOTable1.TableName := 'MR_Student';
ADOTable1.Filtered := True;
end;
4.用ADO元件TADOCommand連線資料庫
TADOCommand元件主要用來對資料來源執行指定的命令,比如SQL語句,表和儲存過程的名稱,對資料進行新增、修改、刪除等操作。雖然其他ADO組體也能執行以上操作,但需要使用Command本身的屬性和方法來控制資料來源,使用TADOCommand元件就方便得多。
在用TADOCommand元件對資料進行編輯時,應在Parameters屬性中建立變數,這些變數應與編輯欄位的型別相一致,如果在SQL語句後面沒有WHERE子句,則對整個表進行編輯。
下面利用TADOCommand元件來連線資料庫“MR_SQL”,並對“MR_Student”表中的“數學”欄位進行修改。
操作步驟如下:
(1)執行Delphi,在窗體中新增TADOTable、TEdit和TButton元件。
(2)主要程式程式碼如下:
在Button1按鈕的單擊事件中寫入以下程式碼。
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOCommand1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=MR_SQL;Data Source=.'; //連線資料來源
//用SQL語句UPDATE修改MR_Student表中第一條記錄的“數學”欄位資訊
ADOCommand1.CommandText:='UPDATE MR_Student SET 數學 = 數學 + :aa where 編號=1';
//在TADOCommand元件中設定變數,並通過該變數獲取修改值
ADOCommand1.Parameters.ParamByName('aa').Value := StrtOInt(edit1.Text);
ADOCommand1.Execute; //執行修改操作
end;