首先,打开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;
转载请注明原文地址: https://ibbs.8miu.com/read-32231.html