У меня есть идея того, что должно быть сделано не совсем точно, как собрать все это вместе. Я пытаюсь искать записи в своих данных, используя текстовое поле. Я бы хотел, чтобы пользователь не знал весь адрес, чтобы иметь возможность вводить часть адреса и все еще возвращать записи. Если я введу полный адрес, тогда запись вернется. Но если я просто вложу первые две буквы и поиск ничего не вернется.Поиск данных в базе данных
Благодаря
Вот что у меня есть:
protected void btnFind_Click(object sender, EventArgs e)
{
string searchFor = txtFirstName.Text.Trim();
int results = 0;
string errorText = "No records found";
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=H:\Contacts.mdb");
conn.Open();
DataSet ds = new DataSet();
string cmd = "SELECT * FROM Contact WHERE Address LIKE '+searchFor ' ";
OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);
da.Fill(ds, "Search");
DataRow[] row;
DataRow dr;
row = ds.Tables["Search"].Select("Address='" + searchFor + "'");
results = row.Length;
if (results > 0)
{
dr = row[0];
txtFirstName.Text = dr["FirstName"].ToString();
txtLastName.Text = dr["LastName"].ToString();
txtEmail.Text = dr["Email"].ToString();
txtAddress.Text = dr["Address"].ToString();
txtPhone.Text = dr["Phone"].ToString();
}
else
{
lblError.Text = errorText;
}
conn.Close();
}
Я внес изменения, но все тот же результат. Вызов My else и появляется сообщение без записи –