Я использую следующий StoredProcedureЕСЛИ ИМЕЕТСЯ В хранимой процедуре
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
Если детали, соответствующие идентификатор пользователя не существует в регистрации таблице, db.ExecuteDataSet(DbCommand).Tables(0)
показывает одну ошибки как cannot find Table(0)
. Какая модификация в укороченной процедуре я должен сделать, чтобы избавиться от этой ошибки?