2

C# は初めてですが、250 行のデータテーブルがあり、列の 1 つに定数値が入力されます (これらの値は文字列です)。これらの定数を保存する最良の方法は何ですか? あなたの提案への参照リンクは大歓迎です。私が考えていた方法の 1 つは、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 に答える