2015-08-20 457 views
-2

只是尋求答案,爲什麼我的更新聲明將無法按預期執行。我在SQL Server中創建了一個名爲'Update_Employee'的存儲過程,然後我調用VB.Net中的過程來更新記錄。這是我迄今所做的:更新聲明將不會按預期執行

VB.net

Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("conEmployee").ConnectionString) 
    Dim cmd As New SqlCommand 

    cmd.CommandType = CommandType.StoredProcedure 
    cmd.CommandText = "Update_Employee" 

    cmd.Parameters.AddWithValue("@empID", SqlDbType.Int).Value = lblIDNum.Text.Trim 
    cmd.Parameters.AddWithValue("@empName", SqlDbType.VarChar).Value = txtName.Text.Trim 
    cmd.Parameters.AddWithValue("@empAdd", SqlDbType.VarChar).Value = txtAddress.Text.Trim 
    cmd.Parameters.AddWithValue("@empPhone", SqlDbType.VarChar).Value = txtPhone.Text.Trim 
    cmd.Parameters.AddWithValue("@empEmail", SqlDbType.VarChar).Value = txtEmail.Text.Trim 

    cmd.Connection = con 

    Try 
     con.Open() 
     cmd.ExecuteNonQuery() 
    Catch ex As Exception 
     Throw ex 
    Finally 
     con.Close() 
     con.Dispose() 
    End Try 

存儲過程腳本:

USE [Company] 
GO 
/****** Object: StoredProcedure [dbo].[Update_Employee] Script Date: 08/20/2015 11:20:27 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER PROCEDURE [dbo].[Update_Employee] 

    @empID int, 
    @empName varchar(50), 
    @empAdd varchar(50), 
    @empPhone nchar(11), 
    @empEmail varchar(50) 
AS 
BEGIN 
     SET NOCOUNT ON; 
     UPDATE tbl_EMPLOYEE SET EMP_NAME = @empName, EMP_ADD = @empAdd, EMP_PHONE = @empPhone, EMP_EMAIL = @empEmail 
     WHERE EMP_ID = @empID 
END 
+0

問題是什麼? – Sherlock

+0

有沒有錯誤? – Dnyanesh

+1

請永遠不要編碼'趕上例外拋出前'。那隻會讓你悲傷。至於'Try'塊的其餘部分,您應該使用'Using'來代替。 – Enigmativity

回答

0

你給應用程序訪問以執行新的SP?

Grant Update_Employee上執行到(應用程序登錄ID)

+0

另外,錯誤消息是什麼? – Arron