2013-10-07 3 views
0

Управление ретрансляторами отображает поля базы данных при загрузке.Кнопка поиска контроля ретранслятора

У меня есть кнопка поиска вне регулятора ретранслятора. Когда кнопка нажата, я хочу, чтобы ретранслятор отображал только результат поиска в ретрансляторе. Как я могу это сделать?

Это код для показа всех. На поиск я не хочу показывать ниже детали внутри репитера. Просто результаты поиска.

Protected Sub BindRepeater() Dim ЦМД As New SqlCommand ("Select * от ABC", кон)

If con.State = ConnectionState.Closed Then 

     con.Open() 

    End If 

    Dim ds As New DataSet() 

    Dim adp As New SqlDataAdapter(cmd) 

    adp.Fill(ds) 

    ' Repeater1.DataSource = ds 

    Repeater1.DataBind() 

    con.Close() 

End Sub НИЖЕ это новый код, который я добавляю в таблеточных ПОИСК

 cmd = New SqlCommand 
    cmd.Connection = con 

    cmd.CommandText = "select * from ABC where LicenseID = '" & TextBox16.Text & "'" 
     drd = cmd.ExecuteReader 
     If drd.HasRows = True Then 
    drd.Read() 

    End If 

    Using con = New SqlConnection("Data Source=ABC-556012RT13\SQLEXPRESS;Initial  Catalog=KABC;Integrated Security=True") 
    Using da = New SqlDataAdapter("select * from ABC where LicenseID = @LicenseID", con) 
     da.SelectCommand.Parameters.AddWithValue("@LicenseID", TextBox16.Text) 
Dim table = New DataTable 
    da.Fill(table) 
Repeater1.DataSource = table 
     Repeater1.DataBind() 
    End Using 
End Using  
+0

Используйте sql-параметры, если вы не хотите, чтобы ваша база данных была захвачена. –

ответ

0

Используйте sql-параметры для prevent sql-injection!

Помимо этого, просто использовать результат запроса в качестве источника данных ретранслятора, например, заполняя DataTable:

Using con = New SqlConnection("connectionString") 
    Using da = New SqlDataAdapter("select * from abc where LicenseID = @LicenseID", con) 
     da.SelectCommand.Parameters.AddWithValue("@LicenseID", TextBox16.Text) 
     Dim table = New DataTable 
     da.Fill(table) 
     repeater1.DataSource = table 
     repeater1.DataBind() 
    End Using 
End Using 

Я также использую using -statement для обеспечения того, чтобы все неуправляемые ресурсы (например, открытое соединение) расположены даже при ошибке.

+0

Ошибка не отображается, но все идентификатор лицензии совпадает с искомым полем. – user2797643

+0

, если я набираю 1, я хочу только этот идентификатор лицензии. В моем ретрансляторе, но он показывает все – user2797643

+0

@ user2797643: Теперь часть 'SqlCommand' и' SqlDataReader' в вашем коде является избыточной. Кроме того, вы прокомментировали мой код, где я установил 'DataSource' в' DataTable'. Зачем? –

Смежные вопросы