C# 基于搜索在文本框中显示数据(按单词)

C# 基于搜索在文本框中显示数据(按单词),c#,sql,ms-access,search,displayobject,C#,Sql,Ms Access,Search,Displayobject,我试图在我的程序中得到一个简单的函数来查找数据库中的数据并将其返回。我使用两个文本框来实现这一点。这是一个翻译功能,因此当您在第一个文本框中搜索一个单词时,它应该在第二个文本框中显示来自DB的翻译/匹配单词。无法让它工作,这是我的代码无论如何 string strProvider = @"PATH is here"; string strSql = "SELECT jpn FROM Vocab WHERE eng like '" + textBox1.Text + "%'";

我试图在我的程序中得到一个简单的函数来查找数据库中的数据并将其返回。我使用两个文本框来实现这一点。这是一个翻译功能,因此当您在第一个文本框中搜索一个单词时,它应该在第二个文本框中显示来自DB的翻译/匹配单词。无法让它工作,这是我的代码无论如何

string strProvider = @"PATH is here";        
string strSql = "SELECT jpn FROM Vocab WHERE eng like '" + textBox1.Text + "%'";

OleDbConnection newConn = new OleDbConnection(strProvider);
OleDbCommand dbCmd = new OleDbCommand(strSql, newConn);

newConn.Open();
dbCmd.CommandType = CommandType.Text;
OleDbDataReader dr = dbCmd.ExecuteReader();

while (dr.Read())
{                 
    textBox2.Text = dr.GetString(0);             
}

调试时,您的
strSql
是什么样子的?
textBox1.Text的值到底是多少?请使用参数化查询。这种字符串连接对SQL注入攻击是开放的。并用于处理您的
OLEDB连接
OLEDB命令
OLEDB数据读取器
。请详细说明它无法工作吗?它会给您一个错误,还是您没有得到预期的结果?我注意到您没有像“%”那样使用
,是因为您有一个已定义的模式没有错误,只是什么都不做,但是当我将textbox1留空时,它会从DB返回第一行并显示它。