1

데이터베이스의 데이터를 필터링해야합니다. 텍스트 상자를 사용합니다. 내 응용 프로그램에 . 4 개의 텍스트 상자 (사용자, PC, IP 및 자산)를 사용합니다. 나는 그것들이 내 데이터베이스에 이미 존재한다면 그 박스들을 사용하여 데이터를 필터링하고 싶습니다. 이 코드는 작동하지만 한 텍스트 상자에서만 작동합니다. 이 코드를 확장하는 데 도움을 줄 수 있습니까? 그래서 모든 4 개의 텍스트 상자를 사용하여 모든 데이터를 필터링 할 수 있습니까?내 코드를 확장하는 방법을 알아낼 수 없습니다.

SQL.RunQuery("SELECT * FROM members WHERE members.User = '" & txtUser.Text & "'") 
    If SQL.SQLDataset.Tables(0).Rows.Count > 0 Then 
     MsgBox("already exists!") 
     Exit Sub 
    Else 

미리 감사드립니다.

답변

1

당신은 이런 식으로 작업을 수행 할 수 있습니다

Dim stmt As String = "SELECT * FROM members WHERE members.User = '" & txtUser.Text & "'" 

if Not txtPC.text.trim.length = 0 then 
    stmt = stmt & " AND members.PC = '" & txtPC.Text & "'" 
End If 
if Not txtIP.text.trim.length = 0 then 
    stmt = stmt & " AND members.IP = '" & txtIP.Text & "'" 
End If 
if Not txtAsset.text.trim.length = 0 then 
    stmt = stmt & " AND members.Asset = '" & txtAsset.Text & "'" 
End If 

SQL.RunQuery(stmt) 
If SQL.SQLDataset.Tables(0).Rows.Count > 0 Then 
    MsgBox("already exists!") 
    Exit Sub 
Else 
    .... 
End If 

하지만 엄격하게 제안 당신이 당신의 현재 쿼리가 Sql Injection

+1

에 노출 될 때 SqlCommand.Prepare Method이 I'l이 일 또한 SqlCommand를 시도 사용합니다. 방법을 준비하십시오. 감사 – Kim

관련 문제