2

对 c# 来说相当新,我有一个包含 250 行的数据表,其中一列将填充常量值(这些值是字符串)。存储这些常量的最佳方法是什么?您的建议的任何参考链接将不胜感激。我正在考虑的一种方法是使用 xml 文件,但我不确定将值添加到数据表会有多容易。

4

2 回答 2

3

假设您要从文件存储到数据库...

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();
于 2013-06-13T00:44:19.247 回答
2

所以我最终做的是以下内容:

我创建了一个具有以下格式的 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 中的信息并将其放入数据表中。

于 2013-06-13T17:55:48.633 回答