VB 如何利用SQL存储过程加入新记录
我有一个SQL SERVER 数据库 GS
,已建一个GPDM 表,内有GPDM,GPCN 两个字段.
想利用存储过程实现插入新记录的操作,现在我已经做好了一个用于查询的存储过程.请教各位,应该怎么样对以下代码进行修改,以实现我要的效果.
代码如下:
ALTER PROCEDURE [dbo].[AA] '在SQL建立名为AA的存储过程
AS
BEGIN
SELECT * from GPDM '查询所有记录
END
______________________________________________________________________________
VB 调用的代码:
Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Cnn_c As New mand
Dim cnn_p As ADODB.Parameter
Set Cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
Cnn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security
Info=False;User ID=sa; password=12345;Data Source=WIN-YES;Initial
Catalog=gs"
Cnn.CursorLocation = adUseClient
Cnn.Open '连接
Set Cnn_c.ActiveConnection = Cnn
mandType = adCmdStoredProc '命令类型:存储过程
mandText = "AA" '存储过程名
Set cnn_p = Cnn_c.CreateParameter("ReTurn", adInteger,
adParamReturnValue)
Cnn_c.Parameters.Append cnn_p '添加参数ReTurn(返回值)
Set rs = Cnn_c.Execute '执行
If rs.RecordCount > 0 Then
While Not rs.EOF
MsgBox rs("GPCN")
rs.MoveNext
Wend
End If
rs.Close
Cnn.Close
Set cnn_p = Nothing
Set Cnn_c = Nothing
Set rs = Nothing
Set Cnn = Nothing
*******************************************
回答:
ALTER PROCEDURE [dbo].[AA] --'在SQL建立名为AA的存储过程
@GPDM varchar(10), --存储过程有两个参数@GPDM,和@GPDN,用于传入插入值
@GPDN varchar(10) --假设类型为字符型varchar(10),要以你相应字段类型来设置
AS
BEGIN
--以下为插入
insert into GPDM(GPDM,GPDN) values(@GPDM,@GPDN)
SELECT * from GPDM '查询所有记录
END
以上为存储过程,以下将你VB代码修改:
'添加参数,类型应按照存储过程
dim GPDM as string,GPDN as string
GPDM="111"
GPDN="222"
Set cnn_p = Cnn_c.CreateParameter("a1", adVarChar, adParamInput,
10,GPDM)
Cnn_c.Parameters.Append cnn_p
Set cnn_p = Cnn_c.CreateParameter("a2", adVarChar, adParamInput, 10, GPDN)
Cnn_c.Parameters.Append cnn_p
其他部分按你的代码
*************************************************
vb调用mysql 输入参数 VB如何利用SQL存储过程加入新记录(CreateParameter方法追加参数方法调用比较具体的例子)...