2012-07-25 112 views
0

我有一個關鍵需求,需要通過表單和按鈕更新Sql server中的表,當訪問時通過窗體和按鈕,當用戶單擊窗體中的按鈕時,他應該能夠更新數據庫中已經存在的記錄。使用MS Access在SQL Server中更新值使用VB.Net編程

對於如:表中的列-EmployeeID,員工姓名,員工位置

EmployeeID Values 
----- 
1001| 
2301| 
3212| 

假設一個用戶要更新EmployeeName的價值就沒有員工的位置,他應該能夠做到,在某些情況下,員工。

update table set [email protected]_employee_name , Employee [email protected]_employee_location where [email protected]_ID 

這應該通過vb驅動。 net程序來更新數據庫中的用戶輸入值。

+3

想要用VB.Net代碼更新SQL數據庫,MS Access如何進入圖片? – 2012-07-25 01:57:19

回答

0

我會建議你在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 
+0

MsAccess是我的案例中的前端應用程序,使用表單和按鈕,我的意思是表單和按鈕需要使用VB.net與Sql Server交談以更新sql server表。 – roshankp 2012-07-25 16:58:07

相關問題