与应用程序链接的内置数据的数据库
本文关键字:置数据 数据库 内置 链接 应用程序 | 更新日期: 2023-09-27 17:59:58
我正在用C#编写一个应用程序,我需要一个与应用程序链接的内置数据数据库。我永远不需要编辑数据,我只需要轻松访问它。
基本上我想要它,这样我就可以在应用程序中构建数据,如下所示:
书名图书作者SomeBookTitle SomeBookAuthor其他书籍标题其他书籍作者
有点像那样?易于访问,最好以某种方式与应用程序链接,所以我只有1个可执行文件。哦,可能有很多数据。。。
到目前为止,我建议使用与其他方法不同的方法。
我不会使用资源文件,因为大概您不想硬编码资源文件中每一行的每一个引用。100本"书"意味着要针对100种不同的资源进行编码。
如果您想要独立部署,第三方组件是有问题的。
我的建议是:将所有数据放在一个XML结构中,并将该XML作为一个资源放在资源文件中。
<?xml version="1.0" standalone="yes"?>
<books>
<book Author="Joe" Title="Joe's Awesome"/>
<book Author="Fred" Title="Joe's Stupid"/>
<book Author="Tim" Title="Who's Joe"/>
</books>
将其作为MyData 放入您的资源文件中
然后你可以用迭代
XDocument xd = new XDocument(XDocument.Parse(myResources.MyData));
foreach(XElement xe in xd.Elements) { // blah blah blah }
或者,您可以使用LinqToXml或任何数量的替代方案。
如果只有两个字段,则可以使用资源文件,并将键用作书名,将值用作作者。http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.80).aspx
您还可以添加Sql Server紧凑型数据库http://msdn.microsoft.com/en-us/library/gg606540.aspx
就您的数据库需求而言,像SQLite或SQL Server CE这样的嵌入式数据库应该能够满足您的需求。有点像…;)
您可以这样编写代码:
SqlDataReader rdr = null;
SqlConnection conn = new SqlConnection( /*Connection string*/ );
SqlCommand cmd = new SqlCommand("select * from Books", conn);
conn.Open();
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
string bookTitle= (string)rdr["Book Title"];
string bookAuthor = (string)rdr["Book Author"];
Console.Write("{0,-25}", bookTitle);
Console.Write("{0,-20}", bookAuthor );
Console.WriteLine();
}