請各位老大給個提示:怎樣在具體的窗口應用視圖和存儲過程.也就是視圖的應用例程.謝謝! 請給出源碼!再次感謝.如太大.可發到[email protected]上.即時給分. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 视图的操作其实和表的操作是一样的,因此你可以使用任意的数据集控件(TTable,TQuery, TADODataSet等等),而存储过程可以使用TStoreProc,TADOStocProc等控件加以实现,具体例程delphi自带的都有,自己去看好了 要什么源码,视图操作与表操作一样,你对表怎么操作就怎么操作视图,如://查询(使用表)(Table1是表名)Query1.SQL.Text:= 'select * from Table1';//查询(使用视图)(View1是视图名)Query1.SQL.Text:= 'select * from View1';没有任何区别,唯一不同的是:当您在视图中更改记录的时候,数据库会将您的更改保存在一个临时表中,等到空闲的时候才真正更新视图所关联的表中的记录,所以暂时您在表中可能看不到更改信息,呵呵 //My email is:[email protected] Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls;type TForm1 = class(TForm) Database1: TDatabase; DBNavigator1: TDBNavigator; DBGrid1: TDBGrid; DataSource1: TDataSource; Query1: TQuery; Label1: TLabel; Button1: TButton; DataSource2: TDataSource; DBNavigator2: TDBNavigator; DBGrid2: TDBGrid; Label2: TLabel; Button2: TButton; StoredProc1: TStoredProc; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}{先在SQL server pub数据库中1、建立视图:create view dbo.shit_view as select * from jobsgo2、建立存储过程:REATE PROCEDURE [dbo].[tsp_test] @id integerASif @id is NULL begin PRINT('id不能为空!') RETURNendselect * from jobs where job_id>@IDGO然后写以下代码:}procedure TForm1.Button1Click(Sender: TObject);begin //执行一个存储过程,StoredProc1不手工设置任何属性 with StoredProc1 do begin Close; DatabaseName:= 'ddd'; StoredProcName:= 'dbo.tsp_test'; ParamByName('@ID').ParamType:= ptInput; ParamByName('@ID').AsInteger:= 12; Prepare; //绑定参数 Open; end;end;procedure TForm1.Button2Click(Sender: TObject);begin //执行一个视图 with Query1 do begin Close; SQL.Clear; SQL.Add('select * from shit_view'); Open; end;end;{那存储过程和视图到底有什么区别?1、视图不可以带参数不能返回结果,而存储过程都能。2、视图中不可以用参数,而存储过程可以。}end.================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] pandarus:收到了,謝謝.也謝謝其它的人. Delphi7中ADO组件无法拉到窗体上,出现错误提示框 一个网页里面包含一个JS文件,我把页面源文件打开后,只显示JS文件名,如何把JS中代码显示出来? 有没有这样的数据关联下拉控件 用delphi6做的工程不得已改用delphi5接着做,怎样能够直接做 ADOQuery.open和线程问题 注册表问题?? 高手请进... SMTP的监控,急,保证送分!!!!! 弃暗投明 用delphi怎样实现关闭本地端口 怎样才能在richedit里插入文字时,是以覆盖模式插入? 有关DBGrid的问题,在线等,解决问题就结帖,分不够可再加!!!
//查询(使用表)(Table1是表名)
Query1.SQL.Text:= 'select * from Table1';
//查询(使用视图)(View1是视图名)
Query1.SQL.Text:= 'select * from View1';
没有任何区别,唯一不同的是:当您在视图中更改记录的时候,数据库会将您的更改保存在一个临时表中,等到空闲的时候才真正更新视图所关联的表中的记录,所以暂时您在表中可能看不到更改信息,呵呵
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls;type
TForm1 = class(TForm)
Database1: TDatabase;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
Label1: TLabel;
Button1: TButton;
DataSource2: TDataSource;
DBNavigator2: TDBNavigator;
DBGrid2: TDBGrid;
Label2: TLabel;
Button2: TButton;
StoredProc1: TStoredProc;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
{
先在SQL server pub数据库中
1、建立视图:
create view dbo.shit_view as
select * from jobs
go
2、建立存储过程:
REATE PROCEDURE [dbo].[tsp_test]
@id integer
AS
if @id is NULL begin
PRINT('id不能为空!')
RETURN
end
select * from jobs where job_id>@ID
GO
然后写以下代码:
}
procedure TForm1.Button1Click(Sender: TObject);
begin
//执行一个存储过程,StoredProc1不手工设置任何属性
with StoredProc1 do begin
Close;
DatabaseName:= 'ddd';
StoredProcName:= 'dbo.tsp_test';
ParamByName('@ID').ParamType:= ptInput;
ParamByName('@ID').AsInteger:= 12;
Prepare; //绑定参数
Open;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
//执行一个视图
with Query1 do begin
Close;
SQL.Clear;
SQL.Add('select * from shit_view');
Open;
end;
end;
{那存储过程和视图到底有什么区别?
1、视图不可以带参数不能返回结果,而存储过程都能。
2、视图中不可以用参数,而存储过程可以。}end.
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
收到了,謝謝.也謝謝其它的人.