簡體   English   中英

存儲大量常量C#的最佳方法

[英]Best method to store a large number of constants C#

對C#來說,這是很新的知識,我有一個包含250行的數據表,其中一列將填充常量值(這些值是字符串)。 存儲這些常數的最佳方法是什么? 任何參考鏈接到您的建議將不勝感激。 我當時想到的一種方法是使用xml文件,但是我不確定向數據表中添加值會多么容易。

假設您要從文件存儲到數據庫中...

C#XML支持很好:

using System;
using System.Xml;

然后假設您具有這種XML結構:

<Db>
    <Item str_attr="ghjgjg" other_attr="0" .../>
    <Item str_attr="fsfsff" other_attr="1" .../>
    ...
</Db>

然后,您可以如下瀏覽它:

XmlTextReader textReader = new XmlTextReader("db.xml");
while (textReader.Read())
{
    String str = textReader.GetAttribute("str_attr");
    if (str != null) { // The current item has an attribute named "str_attr"
        // Code to insert 'str' to db here
   }
}

這很簡單。

可能的代碼來填充數據庫:

SqlCommand cmd = new SqlCommand(...);
cmd.CommandText = "INSERT INTO my_table (my_str_field) " + "VALUES (@str)";
cmd.Parameters.AddWithValue("@str", str);
cmd.ExecuteNonQuery();

因此,我最終要做的事情如下:

我用以下格式創建了一個xml

<Db>
    <identify>
        <row>
            <column2>Name</column2>
            <column3></column3>
        </row>
          :
          :
          :
     </identify>
</Db>

然后從xml文件讀取信息,我使用了以下代碼:

XmlTextReader textReader = new XmlTextReader("db.xml");
textReader.ReadStartElement("Db");
string column2="";
for (int row = 0; row < NumOfRows; row++)
{
    if (row == 0)
    {
        textReader.ReadStartElement("identify");
    }

    textReader.ReadStartElement("row");
    column2 = textReader.ReadElementString("column2");
    dataView[row][2] = column2;
    dataView[row][3] = textReader.ReadElementString("column3");
    textReader.ReadEndElement(); //row
}

注意:我正在使用存儲在xml中的信息並將其放入數據表中。

暫無
暫無

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

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