我使用C#.net Windows窗體,我需要創建一個搜索文本框,它將顯示組合框值(類似於谷歌搜索);顯示在組合框中的值將是來自SQL 2005數據庫的值(例如用戶在FirstName上搜索,組合框將顯示所有名字,當用戶輸入更多字母時,會顯示所有名字,如果用戶搜索姓氏,組合框顯示數據庫中的所有姓氏值..等)文本框搜索像谷歌
當我做上述任務
當我執行我寫SQL查詢這樣
SELECT distinct(person_Firstname+''+person_Lastname)
AS
name FROM persondetails
WHERE name Like '%'[email protected]+'%'
這個查詢給出了這樣的錯誤---必須聲明一個標量變量
我的目標是當我在搜索框中輸入第一個字母,將顯示所有名稱以像谷歌的信...
任何一個可以解決這個....
private void tbautocomplete_TextChanged(object sender, EventArgs e)
{
AutoCompleteStringCollection namecollection = new AutoCompleteStringCollection();
SqlConnection con = new SqlConnection(@"Data Source=88888;Initial Catalog=contrynames;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT distinct(person_Firstname+''+person_Lastname) AS name FROM persondetails WHERE name Like '%'[email protected]+'%'";
con.Open();
SqlDataReader rea = cmd.ExecuteReader();
if (rea.HasRows == true)
{
while (rea.Read())
namecollection.Add(rea["name"].ToString());
}
rea.Close();
tbautocomplete.AutoCompleteMode = AutoCompleteMode.Suggest;
tbautocomplete.AutoCompleteSource = AutoCompleteSource.CustomSource;
tbautocomplete.AutoCompleteCustomSource = namecollection;
編輯您的問題以顯示將文本框的值插入到SQL語句中的代碼的完整剪切。 – 2011-06-11 15:07:59
它給錯誤,如「必須聲明一個標量變量」在cmd.excutereader()語句 – user682417 2011-06-11 15:12:03