[英]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.