請教各位先進 , 下列有三個程式碼
1) update 預儲程序
2) update 程式碼
3) 結果值放入參數
.)問題: 比如叫如某一銀行資料,更新其英文名稱,程式執行結果是更新全部英文名稱欄位,
請教如何將值放入 預儲的where條件。
1) update 預儲程序
CREATE PROCEDURE co_Bank_Update
@IsExist bit,
@BankNo varchar(07),
@BankNameChinese varchar(60),
@BankNameAbb varchar(30) = NULL,
@BankNameEnglish varchar(70) = NULL
AS
Update tblBankAll
SET 是否存在 = @IsExist,
銀行中文名稱 = @BankNameChinese,
銀行中文簡稱 = @BankNameAbb,
銀行英文名稱 = @BankNameEnglish
Where
銀行編號 = @BankNo
IF @@ERROR <>0
RETURN -1
Else
RETURN 0
2) update 程式碼
Private Sub SaveData_BankAll()
MousePointer = vbHourglass
Set cnn = Nothing
Set cnn = New ADODB.Connection
cnn.Provider = "SQLLOEDB"
cnn.CursorLocation = adUseClient
cnn.Open mstrConnection
Set cmmBank = Nothing
Set cmmBank = New ADODB.Command
With cmmBank
.ActiveConnection = cnn
.CommandType = adCmdStoredProc
Select Case mstrEditMode
Case "新增"
.CommandText = "co_bank_Ins"
Case "修改"
.CommandText = "co_bank_Update"
End Select
Set prmIsExist = .CreateParameter("Param1", adBoolean, adParamInput, 0)
Set prmBankNo = .CreateParameter("Param2", adVarChar, adParamInput, 7)
Set prmBankNameChinese = .CreateParameter("Param3", adVarChar, adParamInput, 60)
Set prmBankNameAbb = .CreateParameter("Param4", adVarChar, adParamInput, 30)
Set prmBankNameEnglish = .CreateParameter("Param5", adVarChar, adParamInput, 70)
' Append all parameters
.Parameters.Append prmIsExist
.Parameters.Append prmBankNo
.Parameters.Append prmBankNameChinese
.Parameters.Append prmBankNameAbb
.Parameters.Append prmBankNameEnglish
Call NewBankParams(cmmBank)
.Execute
End With
MousePointer = vbDefault
End Sub
3) 結果值放入參數
Private Sub NewBankParams(cmmTemp As ADODB.Command)
With cmmTemp
.Parameters(0).Value = chkExist.Value ' 是否存在
.Parameters(1).Value = txtField(0).Text ' 銀行編號
.Parameters(2).Value = txtField(2).Text ' 銀行中文名稱
If Len(txtField(3).Text) > 0 Then
.Parameters(3).Value = txtField(3).Text ' 銀行中文簡稱
Else
.Parameters(3).Value = Null
End If
If Len(txtField(4).Text) > 0 Then
.Parameters(4).Value = txtField(4).Text ' 銀行英文名稱
Else
.Parameters(4).Value = Null
End If
End With
End Sub