我使用以下的StoredProcedureIF EXISTS存儲過程
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
Alter PROCEDURE [dbo].[GetUserDetailsByUserID]
(
@UserId varchar(100)
)
AS
BEGIN
IF EXISTS(Select * from Registration where [email protected])
BEGIN
Select
[Name],
[UserId],
[PermanentAddress],
[TemporaryAddress],
[OfficePhoneNo],
[ResidentialPhoneNo],
[MobileNo],
[Email],
[ContactPerson],
[C_OfficePhoneNo],
[C_ResidentialPhoneNo],
[C_MobileNo],
[C_Email],
[Project],
[TotalAmount]
From
Registration
Where
[email protected]
END
END
我使用下面的代碼在vb
Public Function GetUserDetailsByUserID(ByVal strUserId As String) As DataTable
Try
Dim db As Database = DatabaseFactory.CreateDatabase()
Dim DbCommand As DbCommand = _
db.GetStoredProcCommand("GetUserDetailsByUserID")
db.AddInParameter(DbCommand, "@UserId", DbType.String, strUserId)
Return db.ExecuteDataSet(DbCommand).Tables(0)
Catch ex As Exception
Return New DataTable()
End Try
End Function
如果在登記表中不存在對應於用戶ID的信息,db.ExecuteDataSet(DbCommand).Tables(0)
示出了一個錯誤如cannot find Table(0)
。爲了擺脫這個錯誤,我需要對這個過程進行哪些修改?