从数据库读取中的枚举

本文关键字:枚举 读取 数据库 | 更新日期: 2023-09-27 18:20:34

我有个问题。在我的代码中,我有一个枚举,它列出了行业的不同部门。枚举的值是从数据库中读取的。

当我尝试从数据库中转换字符串时,我会得到一个InvalidCastException。我知道问题出在枚举上,因为返回的所有其他值都是字符串。我该如何解决这个问题。

这是代码:

public enum EnBranche
    {
        Metall = 1, 
        Informatik = 2, 
        Einzelhandel = 3, 
        Landwirtschaft = 4, 
        Energie = 5,  
        Gesundheitswirtschaft = 6, 
        Industrie = 7, 
        Tourismus = 8, 
        Logistik = 9
    };
var firma = FirmaFuellen(dataSet.Tables["Firmen"].Rows[i].ItemArray[1].ToString(),
                                         dataSet.Tables["Firmen"].Rows[i].ItemArray[2].ToString(),
                                         dataSet.Tables["Firmen"].Rows[i].ItemArray[3].ToString(),
                                         (int) dataSet.Tables["Firmen"].Rows[i].ItemArray[4],
                                         dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString(),
                                         **(EnBranche) dataSet.Tables["Firmen"].Rows[i].ItemArray[5]);**

从数据库读取中的枚举

请尝试使用枚举。解析:

(EnBranche) Enum.Parse(typeof(EnBranche),
                       dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString())