c# - 如何使用 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);
}
解决方案
DataAdapter.Fill(DataTable)
在服务器上运行您的 SQL 查询并将结果添加到DataTable
.
有DataTable
行,行有列,您可以使用DataTable.Rows[rowno]["columnname"]
.
在您的示例中,使用 检索 id var bot_id = bt.Rows[0]["id"]
。这将为您提供具有该名称的第一个(如果有很多,如果没有,则为异常)机器人 ID。
推荐阅读
- python - 在python中使用非线性约束进行优化-除以变量的总和
- mysql - 从属于组 mysql 的用户 id 中查找聊天组的组 id
- ios - IOS 13 CNContacts 不再工作以检索所有联系人
- arrays - 如何将数组[String]的列转换为String的列
- node.js - 当我使用 Heroku 访问我的反应应用程序时,我收到一个错误(请求的资源上不存在“Access-Control-Allow-Origin”标头)
- javascript - 在 react-bootstrap 中的元素上发起点击事件
- generics - 为什么在特征实现上发送的特征边界被忽略?
- javascript - API 调用后 React 事件处理程序设置为 null
- r - 用于多个随机变量卷积的 R 代码
- ios - 使用几天后应用程序无法打开