Sql server 声明变量时编写SQL语句
我正在尝试在VB应用程序中编写SQL语句。在本例中,我需要声明两个变量来调用其他存储过程。当我在SSMS中运行它时,这段代码可以运行,但我不知道如何在VB中运行它 声明:Sql server 声明变量时编写SQL语句,sql-server,vb.net,Sql Server,Vb.net,我正在尝试在VB应用程序中编写SQL语句。在本例中,我需要声明两个变量来调用其他存储过程。当我在SSMS中运行它时,这段代码可以运行,但我不知道如何在VB中运行它 声明: DECLARE @NewIncidentNoteId NVARCHAR(15) EXEC uspGetNextId @NewIncidentNoteId OUTPUT INSERT INTO [dbo].[IncidentNotes] ([Id] ,[IncidentId]
DECLARE @NewIncidentNoteId NVARCHAR(15)
EXEC uspGetNextId @NewIncidentNoteId OUTPUT
INSERT INTO [dbo].[IncidentNotes]
([Id]
,[IncidentId]
,[TaskId]
,[VLevel]
,[NotesSourceType]
,[Notes]
,[LogDate]
,[LogTime]
,[LogTZ]
,[LogBy]
,[LogByName]
,[NotifyFlg]
,[ActivityDate]
,[ActivityTime]
,[ShowInReport])
VALUES()
(@NewIncidentNoteId
,'60Z3M'
,''
,'1'
,'EIRInvestigatorComment'
,'This is a TEST note.'
,'20150416'
,'10:10:10'
,'UTC'
,'12876'
,'USER, ADMIN'
,'False'
,'20150416'
,'12:13:13'
,'1'))
首先,正如其他人所说,最好的选择是将其作为存储过程添加到数据库中。然后,您可以通过一个简单的ADO.NET命令执行存储过程。但是,如果坚持将整个SQL脚本作为命令发送,有几种方法可以将其作为字符串发送 VB目前对多行字符串文本没有很好的支持,早就应该支持的多行字符串文本将作为Visual Studio 2015的一部分添加进来。有几个变通办法。请参阅以获得一些好的选项。但是,对于类似的情况,您可能需要研究从嵌入式资源或外部脚本文件读取脚本
Set cmd = New ADODB.Command
cmd.ActiveConnection = con
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "empdetails"
cmd.Parameters.Append cmd.CreateParameter_
("empid", adVarChar, adParamInput, 6, str_empid)
Set rs = cmd.Execute
If Not rs.EOF Then
txt_firstname = rs.Fields(0)
txt_title = rs.Fields(1)
txt_address = rs.Fields(2)
End If
Set cmd.ActiveConnection=Nothing
这段代码显示了如何在vb6中使用SP不确定使用哪一个vb如果它是vb.net,那么可以使用ADO.net来实现
这个链接可能也有帮助
我很困惑。你有什么问题?你想让VB代码做什么?如何在VB中将其写入字符串。你只想知道如何在VB中将整个SQL脚本声明为文字字符串?第一个问题,当你可以从VB调用SP时,为什么要将其写入字符串?这根本没有意义。你将会有更多的问题在这样做,并且更容易SQL注入…将其转化为一个过程,并从VB中调用它。OP在标记中指定了VB.NET,以记录引发如此多讨论的问题是如何被否决的