C# は初めてですが、250 行のデータテーブルがあり、列の 1 つに定数値が入力されます (これらの値は文字列です)。これらの定数を保存する最良の方法は何ですか? あなたの提案への参照リンクは大歓迎です。私が考えていた方法の 1 つは、xml ファイルを使用することでしたが、データテーブルに値を追加するのがどれほど簡単かはわかりません。
質問する
574 次
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 に答える