这是我的问题的背景:我有一个组合框,当用户开始输入时,它应该从数据库表的列中检索建议的项目。用户开始输入姓名,程序应通过查看名字和姓氏来建议姓名(数据库对两者都有单独的表)
这是我的代码:
try{
String temp = nameCBox.Text;
AutoCompleteStringCollection namesSuggestion = new AutoCompleteStringCollection();
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=C:\\LogEntry\\LogEntry.accdb; Persist Security Info = False;");
OleDbDataReader reader;
conn.Open();
String text2send = "Select Name from [Teachers] where FName like '" + temp + "' OR LName like '" + temp + "' Group by [Name]";
OleDbCommand cmd = new OleDbCommand(text2send, conn);
reader = cmd.ExecuteReader();
if (reader.HasRows == true)
{
while (reader.Read())
namesSuggestion.Add(reader["temp"].ToString());
}
reader.Close();
nameCBox.AutoCompleteCustomSource = namesSuggestion;
conn.Close();
}
错误:1)我在组合框中没有看到任何建议 2)当我在组合框中输入时,它会突出显示文本,当我再次输入其他内容时,它会写在之前输入的字符上。
请帮助桌面制造商