在Vb.net中使用存储过程
我试图通过调用存储过程将数据插入SQL Server,但遇到了一个错误 过程或函数“USP_insertnguidung”需要参数“@idND”,但未提供该参数 我在SQL Server中的存储过程在Vb.net中使用存储过程,vb.net,stored-procedures,Vb.net,Stored Procedures,我试图通过调用存储过程将数据插入SQL Server,但遇到了一个错误 过程或函数“USP_insertnguidung”需要参数“@idND”,但未提供该参数 我在SQL Server中的存储过程 create proc USP_InsertNguoiDung @idND nvarchar(20), @tenND nvarchar(100), @matkhauND nvarchar(100), @phanquyenND nvarchar(100) as begi
create proc USP_InsertNguoiDung
@idND nvarchar(20),
@tenND nvarchar(100),
@matkhauND nvarchar(100),
@phanquyenND nvarchar(100)
as
begin
insert into nguoidung values(@idND, @tenND, @matkhauND, @phanquyenND)
end
执行官USP_InsertNguoiDung'Me',N'Mẹ', '123','NguoiDung'
我的代码调用存储过程
'Dim con As SqlConnection = _db.Getcon()
'con.Open()
'Cmd = New SqlCommand("USP_InsertPeople", con)
'Cmd.CommandType = CommandType.StoredProcedure
'Cmd.Parameters.Add(New SqlParameter("@id", ndDTO.NguoiDungID))
'Cmd.Parameters.Add(New SqlParameter("@hoten", ndDTO.Hoten))
'Cmd.Parameters.Add(New SqlParameter("@matkhau", ndDTO.Matkhau))
'Cmd.Parameters.Add(New SqlParameter("@phanquyen", ndDTO.PhanQuyen))
'Cmd.ExecuteReader()
'con.Close()
您的参数和存储过程名称拼写错误:
Dim con As SqlConnection = _db.Getcon()
con.Open()
Cmd = New SqlCommand("USP_InsertNguoiDung", con)
Cmd.CommandType = CommandType.StoredProcedure
Cmd.Parameters.Add(New SqlParameter("@idND", ndDTO.NguoiDungID))
Cmd.Parameters.Add(New SqlParameter("@tenND", ndDTO.Hoten))
Cmd.Parameters.Add(New SqlParameter("@matkhauND", ndDTO.Matkhau))
Cmd.Parameters.Add(New SqlParameter("@phanquyenND", ndDTO.PhanQuyen))
Cmd.ExecuteReader()
con.Close()
@不,你在VB.NET代码中没有正确拼写参数。再查一遍。您将
@idND
作为存储过程的第一个参数,但在VB.NET代码中,您使用了@id
-这是不正确的-它必须是@idND
…您能否将调用存储过程的实际VB代码包括在内,因为您在问题中包含的内容看起来像一组注释。它调用了错误的存储过程,例如。。。