2013-10-15 2 views
0

사용자가 입력 한 ASP 페이지의 값, 문자열 또는 정수를 데이터베이스 (SQL 서버)의 테이블 열 값과 어떻게 비교할 수 있습니까?텍스트 상자 값과 열 값 비교

예 : 사용자 ID에 대한 내 페이지에 텍스트 상자가 있습니다. 그리고 사용자 ID가 이미 테이블의 사용자 ID 열에 있는지 확인하고 싶습니다.

+3

데이터베이스에 연결하는 방법을 묻습니다. 당신은 이미 무엇을 시도 했습니까? – Tarec

+0

사용자 입력이 데이터베이스에 이미 존재하는지 묻는 중입니까? 그리고 네, 지금까지 시도한 것을보아야합니다. – gunr2171

+0

텍스트 상자 이름은 무엇입니까? 어떻게 서버에 데이터를 보내나요? GET 방법 또는 POST 방법으로? SQL 서버 이름은 무엇입니까? 너의 테이블 이름이 뭐니? 일부 코드를 보여 주시겠습니까? –

답변

1

데이터베이스의 모든 레코드를 검사하고 사용자에게 메시지를 반환하는 저장 프로 시저를 호출 할 수 있습니다. 직장에서 비슷한 상황이 발생하며 다음 코드를 사용하여 이러한 작업을 수행합니다.

CREATE Procedure usp_IsertNewID 
@StableID   INT = NULL OUTPUT, 
@ReturnCode   int = NULL OUTPUT, 
@ReturnMessage  nvarchar(100) = NULL OUTPUT 
AS 
BEGIN 
    SET NOCOUNT ON; 
    BEGIN TRY 

      IF @StableID IS NULL 
      RAISERROR('Validation Failed: User ID cannot be null', 16,1) 

      IF EXISTS (SELECT UserID from dem.TableName 
         WHERE UserID = @UserID) 
       RAISERROR('Validation Failed: User ID already Exists',16,1) 

     BEGIN TRANSACTION 
      INSERT INTO TableName(UserID) 
      VALUES (@UserID) 

      COMMIT TRANSACTION 
     SELECT @ReturnCode = 0 , @ReturnMessage = 'Sucess! New Stable Details has added.' 
     SELECT @StableID = SCOPE_IDENTITY() 
    END TRY 

    BEGIN CATCH 
     IF (@@TRANCOUNT > 0) 
     ROLLBACK TRAN 

     SELECT @ReturnCode = ERROR_NUMBER(), @ReturnMessage = ERROR_MESSAGE() 

      SELECT @ReturnCode AS ReturnCode, @ReturnMessage AS ReturnMessage, 
       ERROR_LINE() AS ErrorLine, 
       ERROR_SEVERITY() AS ErrorSeverity, 
       ERROR_STATE() AS ErrorState 
    END CATCH 

    SET NOCOUNT OFF; 
END 

GO 
+0

귀하의 요구 사항을 충족시키기 위해 더 조정할 수 있습니다. 이것이 올바른 방향으로 나아갈 수 있기를 바랍니다. 또한 사용자가 작성한 ID를 삽입하고 사용자를 ID로 다시 보내고 사용자에게 다시 보내고 최종 사용자로부터 다른 모든 정보를 가져 와서 ID urself를 작성하고 데이터베이스 관리를 제어 할 수있는 기능을 제공합니다. –

1

좋습니다. SqlCommand 클래스를 사용한다고하셨습니다.

SqlDataAdapter dap = new SqlDataAdapter(); 
DataTable tbl; 
cmd.CommandText = "SELECT * FROM YourTable WHERE [user id]='@a'"; 
cmd.Parameters.AddWithValue("@a", YourTextBox.Text); 
dap.SelectCommand = cmd; 
dap.Fill(tbl); 
if(tbl.Rows.Count > 0) 
    //user id is already exist 
+0

고마워요. :) – Sunny