vs 2012 Professional と SQL-Server 2012 Express を使用しています。
データベースでユーザーを検索するためのテキストボックスがある Admin.aspx を実行しようとしていました。
ただし、ユーザー名を検索しようとするたびに、このエラーが発生します
Cannot use a CONTAINS or FREETEXT predicate on table or indexed view 'users' because it is not full-text indexed.
私の場合、SQL Server Management Studio ではグレー表示され、Express エディションでは利用できません (???)。
どうすればこの問題を克服できますか?
管理者.aspx
Imports System.Data.SqlClient
Partial Class Admin
Inherits System.Web.UI.Page
Protected Sub btnSearchUser_Click(sender As Object, e As EventArgs) Handles btnSearchUser.Click
Dim conn As New SqlConnection("Data Source=BRIAN-PC\SQLEXPRESS;Initial Catalog=master_db;Integrated Security=True")
Dim searchComm As String = "SELECT username FROM users WHERE CONTAINS (username, @username)"
Dim searchSQL As New SqlCommand
conn.Open()
searchSQL = New SqlCommand(searchComm, conn)
searchSQL.Parameters.AddWithValue("@username", txtUserSearch.Text)
Dim datareader As SqlDataReader = searchSQL.ExecuteReader()
While datareader.Read
lstUsers.Items.Add(datareader.Item("username"))
End While
datareader.Close()
conn.Close()
End Sub
End Class
ご覧のとおり、ユーザーは検索ボックスにユーザー名を入力し、テキスト ボックス入力からの単語を含むレコードごとに、リスト ボックスの項目として追加されます。