Vb.net 连接已打开和关闭,但没有向我的数据库插入行?

Vb.net 连接已打开和关闭,但没有向我的数据库插入行?,vb.net,sql-server-2008,insert,database-connection,row,Vb.net,Sql Server 2008,Insert,Database Connection,Row,我正在使用VisualStudio2010和MicrosoftSQLServer2008 这是我的程序代码: PROCEDURE [dbo].[InsUpdUser] ( @UID nchar(10), @FName nchar(20), @SName nchar(20), @LName nchar(20), @UT nchar(6), @PWord nchar(4) ) as BEGIN -- add NEW record in

我正在使用VisualStudio2010和MicrosoftSQLServer2008

这是我的程序代码:

 PROCEDURE [dbo].[InsUpdUser]
(
    @UID nchar(10),
    @FName nchar(20),
    @SName nchar(20),
    @LName nchar(20),
    @UT nchar(6),
    @PWord nchar(4)
)
as
BEGIN
    -- add NEW record
    insert into UserT ([UID],FName,SName,LName,UT,PWord,QC)values(@UID,@FName,@SName,@LName,@UT,@PWord,0);


END
这是类的代码:

Public Class DataAccsess
    Dim con As SqlConnection = New SqlConnection("Data Source=822-PC;Initial Catalog=ICDLDB;Integrated Security=True")

    'open connection to the database
    Public Sub dataAccess()
        con.Open()
        MsgBox("opend")
    End Sub
    'close the connection to the database
    Public Sub CloseCon()
        con.Close()
        MsgBox("Closed")
    End Sub

Public Sub addUsers(ByVal UID As String, ByVal fName As String, ByVal sName As String, ByVal lName As String, ByVal UserT As String, ByVal Pword As String)
        Try
            Dim PAS As String
            Dim com As SqlCommand = New SqlCommand("InsUpdUser", con)
            PAS = (UID).ToString.Substring(UID.ToString.Length - 4)
            com.CommandType = CommandType.StoredProcedure
            com.Parameters.Add(New SqlParameter("@UID", UID))
            com.Parameters.Add(New SqlParameter("@FName", fName))
            com.Parameters.Add(New SqlParameter("@SName", lName))
            com.Parameters.Add(New SqlParameter("@LName", sName))
            com.Parameters.Add(New SqlParameter("@UserT", UserT))
            com.Parameters.Add(New SqlParameter("@Pword", PAS))



        Catch ex As Exception
            MsgBox(ex.Message.ToString)

        End Try
    End sub

End Class
按钮代码:

Try    
            Dim da As New DataAccess

            da.opencon()

            Dim ID, FN, SN, LN, UT, PWord As String
            ID = TextBox2.Text
            FN = TextBox3.Text
            SN = TextBox4.Text
            LN = TextBox5.Text
            UT = DropDownList1.SelectedItem().Text
            PWord = "0"


            da.AddUser(ID, FN, SN, LN, UT, PWord)

            da.closecon()
        Catch ex As Exception
            MsgBox(ex.ToString)

        End Try
所以 代码运行 我在文本框中插入所有信息,然后 MsgBox(“打开”)弹出窗口 然后 MsgBox(“关闭”)弹出窗口 什么也没发生 没有在数据库中插入行 viewGrid上不显示任何行。 什么也没发生 我正在使用VisualStudio2010附带的express sql,同样的事情也发生了。 我的朋友告诉我删除它并下载MicrosoftSQLServer2008。 我那样做了,但问题是一样的。 没有行添加。 程序 已在sql server中执行。 当我创建连接时。 连接成功的连接测试弹出窗口。 运行中的连接已打开和关闭。 但没有行添加

希望有人能在这方面帮助我


谢谢

AddUser有拼写错误。请将其更改为AddUsers,如下所示

 da.AddUsers(ID, FN, SN, LN, UT, PWord)
并将参数add更改为以下内容

command.Parameters.AddWithValue("@UID", UID)

用这个覆盖你的exist Sub,它应该可以工作。您缺少execute命令,或者sub的名称不正确,或者对它的调用不正确。无论哪种方式,他们都需要匹配

Public Sub AddUser(ByVal UID As String, ByVal fName As String, ByVal sName As String, ByVal lName As String, ByVal UserT As String, ByVal Pword As String)
        Try
            Dim PAS As String
            Dim com As SqlCommand = New SqlCommand("InsUpdUser", con)
            PAS = (UID).ToString.Substring(UID.ToString.Length - 4)
            com.CommandType = CommandType.StoredProcedure
            com.Parameters.Add(New SqlParameter("@UID", UID))
            com.Parameters.Add(New SqlParameter("@FName", fName))
            com.Parameters.Add(New SqlParameter("@SName", lName))
            com.Parameters.Add(New SqlParameter("@LName", sName))
            com.Parameters.Add(New SqlParameter("@UserT", UserT))
            com.Parameters.Add(New SqlParameter("@Pword", PAS))

            com.ExecuteNonQuery()

        Catch ex As Exception
            MsgBox(ex.Message.ToString)

        End Try
   End sub

addUsers
中,您正在创建参数,但是
Execute
命令在哪里?创建参数后,尝试添加行
com.ExecuteNonQuery()