对 c# 来说相当新,我有一个包含 250 行的数据表,其中一列将填充常量值(这些值是字符串)。存储这些常量的最佳方法是什么?您的建议的任何参考链接将不胜感激。我正在考虑的一种方法是使用 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 回答