如何将整数从数据库转换为文本框中的字符串?



这是我编写的一小段代码,用于在输入

时自动完成数据库中的文本框
{
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),但是

  1. 我不知道如何显示多个字段
  2. 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);
}

相关内容

  • 没有找到相关文章

最新更新