Delphi與SQL Server預存程序編程詳解

來源:互聯網
上載者:User
經常有很多初學者問到在delphi中如何調用SQL Server的預存程序?問題其實很好解決,但問得多了,也就不願答了。下面我將用執行個體進行說明,從在SQL Server中建立預存程序到調用的完整執行個體。

  首先,開啟sql server管理器,在pubs資料庫中建一個測試表,表名為test,欄位有id,name,和desc,全部為字元型,如果你不知道建表,那麼開啟sql查詢分析器,貼上以下的代碼,然後按執行,就會自動產生test表.

  use pubs

  if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

  drop table [dbo].[test]

  GO

  CREATE TABLE [dbo].[test] (

  [id] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,

  [name] [char] (12) COLLATE Chinese_PRC_CI_AS NULL ,

  [descrip] [char] (30) COLLATE Chinese_PRC_CI_AS NULL

  ) ON [PRIMARY]

  GO

  然後,我們來建立一個預存程序,其功能為在test中插入一條新記錄.建立預存程序的代碼如下,同樣的,你也可以複製到查詢分析器裡直接執行就可以:

  CREATE PROCEDURE myInsert

  @id char(10) ,

  @name varchar(12),

  @descrip varchar(30)

  AS

  begin

  insert into test (id,name,descrip) values (@id,@name,@descrip)

  if @@rowcount=0

  begin

  raiserror('error',16,1)

  rollback transaction

  end

  end

  GO

  接下來,建立一個工程檔案,在form1上放置如下控制項,並設定屬性(括弧內):

  一個ADOConnection1: TADOConnection;

  (LoginPrompt:=false;

  connectionstring:=Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=(local);)

  一個ADOStoredProc1: TADOStoredProc;屬性為:

  (connection:=adoconnection1;

  procedurename:=myinsert;//上面我們建立的那個)

  一個ADOTable1: TADOTable;屬性為:

  (connection:=adoconnection1;

  tablename:=test;  //上面我們建立的那個)

  一個Datasource1,屬性為:

  (dataset:=Tadotable;)

  一個 DBGrid1: TDBGrid;屬性為

  (datasource:=datasource1;)

  一個Button1,在其Onclick中寫到:

  with adoStoredproc1 do

  begin

  Parameters.ParamByName('@id').Value := '2';

  parameters.ParamByName('@name').Value := 'myname';

  parameters.ParamByName('@descrip').Value :='nosubject';

  ExecProc;

  end;

  Adotable1.Close;

  adotable1.Open;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.