VB 如何利用SQL存储过程 加入新记录
我有一个SQLSERVER数据库GS,已建一个GPDM表,内有GPDM,GPCN两个字段.想利用存储过程实现插入新记录的操作,现在我已经做好了一个用于查询的存储过程.请教...
我有一个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 ADODB.Command
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
Cnn_c.CommandType = adCmdStoredProc '命令类型:存储过程
Cnn_c.CommandText = "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的存储过程
AS
BEGIN
SELECT * from GPDM '查询所有记录
END
______________________________________________________________________________
VB 调用的代码:
Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Cnn_c As New ADODB.Command
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
Cnn_c.CommandType = adCmdStoredProc '命令类型:存储过程
Cnn_c.CommandText = "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 展开
1个回答
展开全部
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
其他部分按你的代码
@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
其他部分按你的代码
追问
高手你好!不知什么原因,我的SQL 竟然新建不了存储过程,每次做完保存后,退出再重新进入SQL时,又什么都没有了!
追答
你说的情况没有遇到过,你创建后,点保存,再执行一次,如果返回值正确,应该没问题。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询