与应用程序链接的内置数据的数据库

本文关键字:置数据 数据库 内置 链接 应用程序 | 更新日期: 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();
}