----
另外,开发网络数据库应用程序时,还可以使用存储过程,即:将预先编译过的
SQL
语句存储在服务器上。存储过程提前运行,且不与程序代码一同存储和编译,因此其对应主程序中的代码相对简洁,运行速度也较快。SQL
语句的集中存放,使其修改更容易。
----
要创建向数据表中输入数据的存储过程,代码编写举例如下:
CREATE PROC ProcTest1
@inttest smallint
,@strtest char(4) output
AS
INSERT INTO TEST_User.TRANS_TEST
VALUES(@inttest,@strtest)
SELECT @strtest,* FROM TEST_User.TRANS_TEST
---- 以上代码向数据表
TEST_User.TRANS_TEST 添加数据,该数据表包括两个字段:第一个字段为
smallint 类型的数据,参数类型定为 Input(在存储过程中可缺省);第二个字段数据为长度为4
的字符类型,参数类型为 Output。
----
其模块程序的编写与 DataInsert
过程相似,区别主要在于模块的中间部分,对应的主要代码如下:
StoredProc1.Close;
{关闭存储过程}
StoredProc1.Params[1].ParamType := ptInput;
{设置存储过程的参数类型}
StoredProc1.Params[1].AsInteger := 1;
{设置存储过程中参数的数据}
StoredProc1.Params[2].ParamType := ptOutput;
StoredProc1.Params[2].AsString := 'abcd';
StoredProc1.Open; {打开存储过程}
---- 其中,StoredProc1 是
TStoredProc 类型的构件名称;Params[1]
是存储过程中的第一个参数,对应存储过程 ProcTest1 可以用ParamByName('@inttest')代替;存储过程的第二个参数与其类似。
----
实际上,编写对网络数据库进行其他数据处理(如:修改、删除和查询等)的模块,与数据的输入模块大体相似,这里就不再赘述了。
上一页 [1] [2]
|