저장 프로 시저에서 반환 값 가져 오기 및 프로그램에서 사용

케빈 피셔

이것은 내 저장 프로 시저 가이 질문에 대한 후속 조치 입니다.

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'Check_Previous_Passwords')
BEGIN
    PRINT 'Dropping Procedure Check_Previous_Passwords'
    DROP  Procedure  Check_Previous_Passwords
END
GO

PRINT 'Creating Procedure Check_Previous_Passwords'
GO

CREATE Procedure Check_Previous_Passwords
    @ua_pk uniqueidentifier,
    @IncomingPassword varchar(25)
AS
    DECLARE @Temp VARCHAR(25)
    DECLARE @IsSamePassword bit

    SET @Temp = (SELECT TOP 1 up_Password 
                 FROM User_Passwords 
                 WHERE ua_fk = @ua_pk 
                 ORDER BY up_PasswordDate DESC)


    IF (EXISTS (SELECT 1 
                FROM User_Passwords up 
                WHERE up.ua_fk = @ua_pk
                AND @IncomingPassword = up.up_Password))
        BEGIN
            SELECT @IsSamePassword = 1

        END
    ELSE
        BEGIN
            SELECT @IsSamePassword = 0

        END
GO

GRANT EXEC ON Check_Previous_Passwords TO WEB

GO

연결된 SQL이 값을 반환하고 있다고 확신합니다. 하지만 VB.Net 솔루션으로 가져 와서 사용하면 "표현식이 값을 생성하지 않는다"는 메시지가 표시됩니다. 내 VB 코드는 다음과 같습니다.

버튼 클릭시 :

If user_.Check_Previous_Passwords(user_) = True Then
    'throw error and set ResetPassword to true
End If

User.vb에서

Public Sub Check_Previous_Passwords(ByVal User As FoundationLibrary.User)
    Dim IsSamePassword_ As Integer
    Dim objCommand As New SqlCommand("Check_Previous_Passwords", DatabaseInterface_.Connection)
    objCommand.CommandType = CommandType.StoredProcedure
    objCommand.Parameters.AddWithValue("@ua_pk", ua_pk_)
    objCommand.Parameters.AddWithValue("@IncomingPassword", ua_Password_)
    DatabaseInterface_.Open()
    IsSamePassword_ = objCommand.ExecuteScalar
    DatabaseInterface_.Close()
    If IsSamePassword_ = 1 Then
        User.ua_ResetPassword_ = True
    Else
        User.ua_ResetPassword_ = False
    End If
End Sub

나는 사용한 Dim IsSamePassword As Boolean다음 내 If진술을 동일하게 변경했습니다 True. 여전히 같은 오류가 발생합니다.

이 느낌이 정말 쉽습니다.

앤드류 모튼

SQL은 필요한 것보다 더 복잡합니다.

CREATE Procedure Check_Previous_Passwords
    @ua_pk uniqueidentifier,
    @IncomingPassword varchar(25)
AS
    SELECT COUNT(*)
    FROM User_Passwords up 
    WHERE up.ua_fk = @ua_pk
        AND @IncomingPassword = up.up_Password

그리고 그것을 사용하는 VB는 값을 반환 할 수 있도록 함수 여야합니다.

Option Strict On
' ...'
Public Function Check_Previous_Passwords(ByVal User As FoundationLibrary.User) As Boolean
    Dim isSamePassword As Integer
    Dim objCommand As New SqlCommand("Check_Previous_Passwords", DatabaseInterface_.Connection)
    objCommand.CommandType = CommandType.StoredProcedure
    objCommand.Parameters.Add(New SqlParameter With {.ParameterName"@ua_pk", .SqlDbType = SqlDbType.UniqueIdentifier, .Value = ua_pk_})
    objCommand.Parameters.Add(New SqlParameter With {.ParameterName = "@IncomingPassword", .SqlDbType = SqlDbType.VarChar, .Size = 25, .Value = ua_Password_})
    DatabaseInterface_.Open()
    isSamePassword = CInt(objCommand.ExecuteScalar)
    DatabaseInterface_.Close()

    User.ua_ResetPassword_ = (isSamePassword = 1)

    Return User.ua_ResetPassword_

End Function

AddWithValue부품을 안정적으로 작동하는 버전으로 변경했습니다 . 피해야합니다 AddWithValue-결국 불행을 가져올뿐입니다. 이미 AddWithValue () 사용을 중단 할 수 있습니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

저장 프로 시저에서 선택 값 가져 오기 / 사용

분류에서Dev

SQL Server 저장 프로 시저 반환 값 및 C #에서 사용

분류에서Dev

저장 프로 시저에서 반환 값을 가져 오는 방법

분류에서Dev

ODP.NET을 사용하여 Oracle 저장 프로 시저에서 날짜 값 가져 오기

분류에서Dev

저장 프로 시저에서 값을 가져 오는 방법

분류에서Dev

저장 프로 시저에서 반환 값을 가져올 수 없습니다.

분류에서Dev

mysql 저장 프로 시저에서 Count 단일 값 가져 오기

분류에서Dev

C #의 저장 프로 시저에서 비트 값 가져 오기

분류에서Dev

피벗을 사용하여 저장 프로 시저에서 Null 값 반환

분류에서Dev

저장 프로 시저에서 열의 기본값 사용

분류에서Dev

저장 프로 시저에서 열의 기본값 사용

분류에서Dev

연결된 서버의 저장 프로 시저 내에서 로그인 한 사용자 이름 가져 오기

분류에서Dev

저장 프로 시저에서 반환 된 테이블에서 첫 번째 열, 첫 번째 행의 값 가져 오기

분류에서Dev

저장소에서 값을 가져오고 다른 메소드에서 해당 값을 반환 유형으로 사용하는 스프링 부트

분류에서Dev

배치 파일의 콘솔 응용 프로그램에서 반환 값 가져 오기

분류에서Dev

SQLQuery를 사용하여 .NET 응용 프로그램에서 저장 프로 시저를 실행하면 잘못된 값이 반환됩니다.

분류에서Dev

내 asp.net mvc 웹 응용 프로그램 내에서 일반 저장소 + 하위 저장소 + UnitOfWork 가져 오기

분류에서Dev

저장 프로 시저가 기본값을 반환합니까?

분류에서Dev

저장 프로 시저가 MVC5에서 값을 반환하지 않음

분류에서Dev

C #의 저장 프로 시저에서 설정 값을 가져 오는 방법

분류에서Dev

XML 데이터를 저장 프로 시저에 전달하고 반환 값을 가져 오는 중 C #?

분류에서Dev

월 및 연도 조건으로 저장 프로 시저를 사용하여 데이터베이스에서 레코드 가져 오기

분류에서Dev

VB.Net에서 Entity Framework를 사용하여 저장 프로 시저에서 반환 된 값 활용

분류에서Dev

Perl 해시 테이블에서 값 저장 및 가져 오기

분류에서Dev

엔터티 프레임 워크의 저장 프로 시저에서 반환 값을 가져 오는 방법은 무엇입니까?

분류에서Dev

두 번 호출 할 필요없이 select 및 where 절 모두에서 저장 프로 시저 반환 값을 사용 하시겠습니까?

분류에서Dev

SQL 저장 프로 시저에서 여러 값 반환

분류에서Dev

gatling을 사용하여 json에서 다른 시나리오로 변수 저장 및 가져 오기

분류에서Dev

Dapper를 사용하여 저장 프로 시저에서 필드 이름 가져 오기

Related 관련 기사

  1. 1

    저장 프로 시저에서 선택 값 가져 오기 / 사용

  2. 2

    SQL Server 저장 프로 시저 반환 값 및 C #에서 사용

  3. 3

    저장 프로 시저에서 반환 값을 가져 오는 방법

  4. 4

    ODP.NET을 사용하여 Oracle 저장 프로 시저에서 날짜 값 가져 오기

  5. 5

    저장 프로 시저에서 값을 가져 오는 방법

  6. 6

    저장 프로 시저에서 반환 값을 가져올 수 없습니다.

  7. 7

    mysql 저장 프로 시저에서 Count 단일 값 가져 오기

  8. 8

    C #의 저장 프로 시저에서 비트 값 가져 오기

  9. 9

    피벗을 사용하여 저장 프로 시저에서 Null 값 반환

  10. 10

    저장 프로 시저에서 열의 기본값 사용

  11. 11

    저장 프로 시저에서 열의 기본값 사용

  12. 12

    연결된 서버의 저장 프로 시저 내에서 로그인 한 사용자 이름 가져 오기

  13. 13

    저장 프로 시저에서 반환 된 테이블에서 첫 번째 열, 첫 번째 행의 값 가져 오기

  14. 14

    저장소에서 값을 가져오고 다른 메소드에서 해당 값을 반환 유형으로 사용하는 스프링 부트

  15. 15

    배치 파일의 콘솔 응용 프로그램에서 반환 값 가져 오기

  16. 16

    SQLQuery를 사용하여 .NET 응용 프로그램에서 저장 프로 시저를 실행하면 잘못된 값이 반환됩니다.

  17. 17

    내 asp.net mvc 웹 응용 프로그램 내에서 일반 저장소 + 하위 저장소 + UnitOfWork 가져 오기

  18. 18

    저장 프로 시저가 기본값을 반환합니까?

  19. 19

    저장 프로 시저가 MVC5에서 값을 반환하지 않음

  20. 20

    C #의 저장 프로 시저에서 설정 값을 가져 오는 방법

  21. 21

    XML 데이터를 저장 프로 시저에 전달하고 반환 값을 가져 오는 중 C #?

  22. 22

    월 및 연도 조건으로 저장 프로 시저를 사용하여 데이터베이스에서 레코드 가져 오기

  23. 23

    VB.Net에서 Entity Framework를 사용하여 저장 프로 시저에서 반환 된 값 활용

  24. 24

    Perl 해시 테이블에서 값 저장 및 가져 오기

  25. 25

    엔터티 프레임 워크의 저장 프로 시저에서 반환 값을 가져 오는 방법은 무엇입니까?

  26. 26

    두 번 호출 할 필요없이 select 및 where 절 모두에서 저장 프로 시저 반환 값을 사용 하시겠습니까?

  27. 27

    SQL 저장 프로 시저에서 여러 값 반환

  28. 28

    gatling을 사용하여 json에서 다른 시나리오로 변수 저장 및 가져 오기

  29. 29

    Dapper를 사용하여 저장 프로 시저에서 필드 이름 가져 오기

뜨겁다태그

보관