我會建議你在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如何進入圖片? – 2012-07-25 01:57:19