首页 > 解决方案 > 如何使用 c# 将结果值从 sql Query 返回到 bot 应用程序作为回复

问题描述

我一直在尝试使用 Bot 应用程序在 C# 中建立对话并在 Bot Framework 模拟器中进行测试,所以我尝试输入我的名字 bot 将从查询的返回结果中重播我的 id,但它不起作用这是一个代码示例:

if (activity.Text == "Ram")
                {
                    SqlConnection botc = new SqlConnection(@"Data Source = SRINIVASG - PC\SQLEXPRESS; Initial Catalog = Botdb; Integrated Security = True");
                    //SqlCommand cmd = new SqlCommand("Select id from Bot_dt where Name = '"+ activity.Text + "'", botc);
                    SqlDataAdapter Ad = new SqlDataAdapter("Select id from Bot_dt where Name = '"+ activity.Text + "'", botc);
                    DataTable bt = new DataTable();
                    Ad.Fill(bt);                    
                    Activity replyaa = activity.CreateReply($"Mr.{activity.Text}, Your ID is {bt}");
                    await connector.Conversations.ReplyToActivityAsync(replyaa);
                }

标签: c#sqlbotframework

解决方案


DataAdapter.Fill(DataTable)在服务器上运行您的 SQL 查询并将结果添加到DataTable.

DataTable行,行有列,您可以使用DataTable.Rows[rowno]["columnname"].

在您的示例中,使用 检索 id var bot_id = bt.Rows[0]["id"]。这将为您提供具有该名称的第一个(如果有很多,如果没有,则为异常)机器人 ID。


推荐阅读