ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ : Этот код подвержен атакам внедрения SQL-кода и не должен использоваться в производственной среде. Только для тестирования. В частности:
strSQL = "SELECT * from Table where charindex ('" & TextBox1.Text & "', columnname) > 0 "
Сначала в файле web.config добавьте этот раздел, который указывает на вашу базу данных:
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
Например, я только что использовал стандартную базу данных, которая присоединяется при запуске нового веб-приложения vb.net в VisualStudio 2010.
Тогда в вашем Default.aspx есть что-то вроде этого:
<asp:TextBox runat="server" ID="TextBox1"></asp:TextBox>
<asp:Button runat="server" Text="Button" ID="Button1" />
И в коде позади вы можете сделать что-то вроде этого:
Imports System.Data.SqlClient
Открытый класс _Default
Наследует System.Web.UI.Page
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strSQL As String = String.Empty
' Define your select statement
strSQL = "SELECT * from Table where charindex ('" & TextBox1.Text & "', columnname) > 0 "
' Fire up SQLConnection with a DataReader
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("ApplicationServices").ConnectionString)
Dim command As New SqlCommand(strSQL, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
Try
' Do some magic with reader.GetValue()
Catch ex As Exception
End Try
End While
reader.Close()
connection.Close()
End Using
End Sub
Конечный класс
Конечно, вам нужно будет проверить textbox.text, прежде чем помещать его непосредственно в оператор выбора, но это поможет.
CharIndex будет проходить по столбцу, указанному в качестве второго параметра, и проверять, есть ли совпадение между данными столбца и textbox.text, если это так, он возвращает строку.
Считыватель будет циклически просматривать результаты, а с помощью reader.GetValue вы можете извлекать данные и творить чудеса.
Вместо использования SQLDataReader вы, конечно, можете присоединить его к сетке с привязкой к данным или к чему-то еще ...