c# - 如何将数据库中的整数转换为文本框中的字符串?
问题描述
这是我编写的一小段代码,用于在我键入时从数据库中自动完成我的文本框:
{
SqlConnection connString = new SqlConnection();
connString.ConnectionString = "Data Source=************************;Initial Catalog=STUPELG;Persist Security Info=True;User ID=****************;Password=**********";
SqlDataAdapter adapter = new SqlDataAdapter();
connString.Open();
SqlDataReader dataReader;
SqlCommand command = new SqlCommand("SELECT Name FROM dbo.Entity WHERE Name LIKE @name", connString);
command.Parameters.Add(new SqlParameter("@name", "%" + tbEntity.Text + "%"));
command.ExecuteNonQuery();
dataReader = command.ExecuteReader();
AutoCompleteStringCollection col = new AutoCompleteStringCollection();
while (dataReader.Read())
{
col.Add(dataReader.GetString(0));
}
tbEntity.AutoCompleteCustomSource = col;
connString.Close();
}
但是,我想将数据库中的两个字段(EntityID,Name)显示到文本框中,但是
- 我不知道如何显示多个字段。
- EntityID 是一个整数,我不确定如何在我的代码中将其转换为字符串。
有什么建议么?
解决方案
通常文本框不用于显示来自数据库的多个数据。但也请注意,自动完成是一种帮助最终用户在输入时进行选择的工具。
如果您还想添加 EntityID,则需要在自动完成源中的名称之后添加它。
首先,您需要更改 sql 命令以检索 EntityID 字段而不仅仅是 Name 字段
string cmdText = "SELECT Name, EntityID FROM dbo.Entity WHERE Name LIKE @name";
SqlCommand command = new SqlCommand(cmdText, connString);
然后在读取值的循环中,您将 Name 和 EntityID 作为添加到自动完成集合的字符串的一部分添加
while (dataReader.Read())
{
string data = $"{dataReader.GetString(0)} {dataReader.GetInt32(1)}"
col.Add(data);
}
推荐阅读
- matplotlib - 有没有办法在matplotlib中提取绘制线的像素坐标
- javascript - 如何将 JSON 值从 String 更改为 int?
- c# - 尝试使用 viewdata 绑定两个不同的下拉列表
- azure-devops - 有谁知道如何在 Azure DevOps 中使用 Doxygen 工具?
- powerbi - PowerBI - Power Query 从 Azure Vault 获取凭据
- azure-logic-apps - HTTP 请求逻辑应用程序 - 从数组名称、值对中解析值
- javascript - 视频播放完毕后,如何获取带有嵌入 Vimeo 视频的页面以卸载视频并重定向到另一个页面?
- list - 如何在对话框流机器人中显示列表响应
- c++ - 如何在不销毁对象的情况下返回对象列表
- geospatial - 为什么我的光栅图像不能用 levelplot 显示?