使用VB.Net编程使用MS Access更新SQL Server中的值
我有一个关键要求,需要通过窗体和按钮从access更新Sql server中的表, 当用户单击表单中的按钮时,他应该能够更新数据库中已经存在的记录 例如:表中有列—EmployeeID、员工姓名、员工位置使用VB.Net编程使用MS Access更新SQL Server中的值,sql,vb.net,ms-access,Sql,Vb.net,Ms Access,我有一个关键要求,需要通过窗体和按钮从access更新Sql server中的表, 当用户单击表单中的按钮时,他应该能够更新数据库中已经存在的记录 例如:表中有列—EmployeeID、员工姓名、员工位置 EmployeeID Values ----- 1001| 2301| 3212| 假设一个用户只想更新EmployeeName的值,而不是employee location,在某些情况下,他应该能够更新employee的值 update table set EmployeeName=@Ne
EmployeeID Values
-----
1001|
2301|
3212|
假设一个用户只想更新EmployeeName的值,而不是employee location,在某些情况下,他应该能够更新employee的值
update table set EmployeeName=@New_employee_name , Employee Location=@New_employee_location where EmployeeID=@Employee_ID
这应该通过vb驱动。net程序以更新数据库中的用户输入值。我建议您在SQL Server上创建一个存储过程,下面是一个示例:
CREATE PROCEDURE sp_UpdateEmployeeByID
(
@ID int,
@TitleID int,
@FirstName nvarchar(255),
@LastName nvarchar(255)
)
AS
BEGIN
SET NOCOUNT ON;
UPDATE Employee SET
TitleID = @TitleID,
FirstName = @FirstName,
LastName = @LastName
WHERE ID = @ID
END
使用存储过程而不是临时SQL可以保护您免受SQL注入攻击,此外还有性能优势
然后使用VB.Net调用存储过程,传入更新的员工值
Public Sub UpdateEmployeeByID(Byval ID As Int32, Byval TitleID As Int32, Byval FirstName As string, Byval LastName As string)
Dim connString As String = ConfigurationManager.AppSettings("ConnectionString")
Dim conn As New SqlConnection(connString)
conn.Open()
Dim sqlCommand As new SqlClient.SqlCommand("sp_UpdateEmployeeByID", conn)
sqlCommand.CommandType = CommandType.StoredProcedure
sqlCommand.Parameters.AddWithValue("@ID", ID)
sqlCommand.Parameters.AddWithValue("@TitleID", TitleID)
sqlCommand.Parameters.AddWithValue("@FirstName", FirstName)
sqlCommand.Parameters.AddWithValue("@LastName", LastName)
Try
sqlCommand.ExecuteNonQuery()
Catch ex As SqlException
'Handle SQL exceptions
Catch ex As Exception
'Handle exceptions
Finally
'clean up resources that access Data
If IsNothing(sqlCommand) = False Then
sqlCommand.Dispose()
sqlCommand = Nothing
End If
conn.Close()
End Try
End Sub
您想用VB.Net代码更新SQL数据库,MS Access是如何实现的?在我的例子中,MsAccess是前端应用程序,使用表单和按钮,我的意思是表单和按钮需要使用VB.Net与SQL Server对话,以便更新SQL Server表。