繁体   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