0

使用 Visual Studio 2010,我创建了一个 VB Web 应用程序,并在其中添加了一个数据库。我有一个 VB 类,它假设有一个名称并通过存储过程将其添加到数据库中。我运行代码并将变量传递给 vb 类,但一旦我停止运行程序,似乎就不会更改表。

我是 vb 和视觉工作室的新手,所以我使用http://www.macronimous.com/resources/calling_stored_procedures_from_ASP.NET_and_VB.NET.asp作为我的指南,这就是为什么代码是这样的。

这是vb类

Imports System.Data
Imports System.Data.SqlClient

Public Class human

Private name As String
Private id As Integer

Public Function sendName(ByVal nm As String)

    Dim SQLCon As New SqlClient.SqlConnection
    Dim SQLCmd As New SqlCommand
    SQLCon.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=
 C:\Documents and Settings\user\my documents\visual studio 2010\Projects\
 WebApplication3\WebApplication3\App_Data\Database1.mdf;
 Integrated Security=True;User Instance=True"

    SQLCon.Open()
 'I want to to execute the procedure addName using the variable nm
    SQLCmd.CommandText = "addName"
    SQLCmd.CommandType = CommandType.StoredProcedure
    SQLCmd.Parameters.AddWithValue("@name", nm)
    SQLCmd.Connection = SQLCon 'Active Connection
    SQLCon.Close()

    Return (nm)
End Function

End Class

and here's my stored procedure "addName"
Alter PROCEDURE addName (@GivenName varchar(100))
AS
BEGIN
SET NOCOUNT ON;
Insert into tableA (name) values (@GivenName);
END
return

在我停止调试应用程序后,我错过了什么阻止表格显示更新?

4

3 回答 3

4

伟大的。您定义一个命令,创建一个连接并打开它。但是您无法执行该命令。

SQLCmd.Connection = SQLCon 'Active Connection
SQLCmd.ExecuteNonQuery()
SQLCon.Close()
于 2013-01-13T18:23:15.940 回答
2

你省略了一个语句SQLCmd.ExecuteNonQuery()

SQLCmd.ExecuteNonQuery()  'You need this line
SQLCon.Close()
于 2013-01-13T18:24:09.357 回答
2

您错过了 ExecuteNonQuery() 方法。

SQLCon.Open()
SQLCmd.CommandText = "addName"
SQLCmd.CommandType = CommandType.StoredProcedure
SQLCmd.Parameters.AddWithValue("@name", nm)
SQLCmd.Connection = SQLCon 'Active Connection
SQLCmd.ExecuteNonQuery()  'This one is missing
SQLCon.Close()
于 2013-01-13T18:26:59.613 回答