【发布时间】:2013-12-04 03:27:01
【问题描述】:
我知道应该做什么,只是不完全确定如何将它们组合在一起。我正在尝试使用文本框在我的数据中搜索记录。我想如果用户不知道整个地址只是为了能够输入地址的一部分并仍然返回记录。如果我输入完整地址,则会返回一条记录。但是,如果我只输入前几个字母并搜索什么都不会返回。
谢谢
这是我所拥有的:
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();
}
【问题讨论】:
标签: c# database ms-access sqlcommand