[英]Unable to cast object of type 'System.Byte' to type 'System.String'
[英]Unable to cast object of type 'System.Byte' to type 'System.String'.'
我正在嘗試將值從數據庫填充到Combobox
,當我運行它時出現此錯誤:
無法將“System.Byte”類型的 object 轉換為“System.String”類型。
Status
是tinyint
類型。
public void FillStatus()
{
try
{
using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=DesignSaoOsig1;Integrated Security=True"))
{
conn.Open();
string query = "SELECT DISTINCT Status FROM tblZaposleni_AD";
SqlCommand cmd = new SqlCommand(query, conn);
using (SqlDataReader saReader = cmd.ExecuteReader())
{
while (saReader.Read())
{
string name = saReader.GetString(0);
ddlStatus.Items.Add(name);
}
}
}
}
catch (Exception)
{
throw;
}
}
我找到了錯誤的來源。 代替於
string name = saReader.GetString(0);
我只是將這一行替換為這一行
string name = saReader.GetByte(0).ToString();
由於 SQL Server tinyint
在 .NET 中被轉為byte
,所以需要這樣讀取,然后轉為字符串:
byte dbValue = saReader.GetByte(0);
string name = dbValue.ToString();
ddlStatus.Items.Add(name);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.