c#使用其他字段从数据库返回值

时间:2014-04-01 21:16:43

标签: c# sql-server ado.net

我有一个我想使用的Microsoft Access数据库。我已建立连接,可以将整个字段打印到列表框中。但有没有办法只搜索一个关键字并在另一个字段中返回另一个值? 例如,我想要创建的是一个基本的聊天框 数据库中有两个字段

+-----------------+----------------------+
| INPUT           |       Response       |
+-----------------+----------------------+
| hi              |  "hey, how are you?" |
| hello           |  "hi"                |
+-----------------+----------------------+

如果用户输入 hi ,它会搜索数据库,如果找到关键字,那么它会根据关键字返回响应字段? 我尝试在oleDB命名空间中使用阅读器功能,但没有运气。 老实说,我不知道从哪里开始聊天机器人的数据库端。

1 个答案:

答案 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();
            } 
        }
    } 
}

好的,我编辑了完整解决方案的答案。不确定你之前是否以这种方式连接到数据库,但它应该可以工作。