這裏是我的問題的背景:我有一個組合框,當用戶開始輸入,它應該檢索數據庫表中的列建議項目。用戶開始輸入查詢的名稱和程序應該通過查看第一和最後一個名稱所暗示的名稱(數據庫有兩個單獨的表)Access數據庫的C#查詢問題
這裏是我的代碼:
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)當我在組合框中鍵入,它強調的文本,當我再次別的東西輸入,它會比上一個輸入的字符寫任何建議。
請幫助 desktopmaker
的第一個建議:使用參數化查詢。 http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbparameter%28v=vs.100%29.aspx – varg