簡體   English   中英

如何將數據庫中的 Integer 轉換為文本框中的字符串?

[英]How to convert Integer from database into string in textbox?

這是我編寫的一小段代碼,用於在我鍵入時從數據庫中自動完成我的文本框:

        {
            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 是 integer,我不確定如何在我的代碼中將其轉換為字符串。

有什么建議么?

通常文本框不用於顯示來自數據庫的多個數據。 但也請注意,自動完成是一種幫助最終用戶在輸入時進行選擇的工具。
如果您還想添加 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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM