我有一个我想使用的Microsoft Access数据库。我已建立连接,可以将整个字段打印到列表框中。但有没有办法只搜索一个关键字并在另一个字段中返回另一个值? 例如,我想要创建的是一个基本的聊天框 数据库中有两个字段
+-----------------+----------------------+
| INPUT | Response |
+-----------------+----------------------+
| hi | "hey, how are you?" |
| hello | "hi" |
+-----------------+----------------------+
如果用户输入 hi ,它会搜索数据库,如果找到关键字,那么它会根据关键字返回响应字段?
我尝试在oleDB
命名空间中使用阅读器功能,但没有运气。
老实说,我不知道从哪里开始聊天机器人的数据库端。
答案 0 :(得分:0)
class Program
{
public void ResponseToUser(string userInput)
{
string connectionString = @"Your database path";
using (OleDbConnection databaseConnection = new OleDbConnection(connectionString))
{
databaseConnection.Open();
using (OleDbCommand command = new OleDbCommand("SELECT * FROM TableName", databaseConnection))
{
OleDbDataReader reader = command.ExecuteReader();
string response = string.Empty;
while (reader.Read())
{
if (reader["Keyword"].ToString().Equals(userInput))
{
response = reader["Response"].ToString();
break;
}
}
reader.Close();
}
}
}
}
好的,我编辑了完整解决方案的答案。不确定你之前是否以这种方式连接到数据库,但它应该可以工作。