Vb.net 连接已打开和关闭,但没有向我的数据库插入行?
我正在使用VisualStudio2010和MicrosoftSQLServer2008 这是我的程序代码: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
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()
。