一尘不染

如何将SQL数据库嵌入/附加到Visual C#中?

sql

这是我第一次使用SQL,这可能是一个愚蠢的问题,但是我进行了一些研究,但我认为我没有找到想要的东西。

我想要的是一种制作将在我的C#程序中使用的私有SQL数据库的方法。我已经在SQL Server Express中建立了数据库,并将其连接到VisualStudio 2010。

SqlCommand DBAccess = new SqlCommand();
DBAccess.Connection = new SqlConnection(
    "Data Source = localhost;" +
    "Initial Catalog = My_Database;" +
    "Trusted_Connection = True");
  • 我可以将数据源嵌入到我的程序中,并将与解决方案的其余部分一起编译吗?

该程序的一些额外背景;

该程序需要在数据库中的6个表中进行搜索,并DataRow在搜索字符串与特定字段匹配时输出a的内容。

例如。

Field 1     Field 2
quick       AA
brown       AA
fox         AB
jumps       AB
over        AA
the         AB
lazy        AB
dog         AA

Search_String = AB

产出;

fox
jumps
the
lazy

任何帮助都感激不尽!!!!!

谢谢


阅读 378

收藏
2021-03-17

共1个答案

一尘不染

只是为了获得控制权(VS 2010):

  1. 创建一个控制台项目
  2. 添加对System.Data.SqlServerCe的引用(在我的计算机上的Program Files \ Microsoft SQL Server Compact Edition \ v3.5 \ Desktop \ System.Data.SqlServerCe.dll中)
  3. 在解决方案资源管理器中右键单击项目节点,选择“添加=>新建项…”,选择“本地数据库”,将其命名为MyDB。
  4. 新文件MyDB.sdf将添加到项目中(MS SQL Server Compact数据库)
  5. 右键单击新文件,单击“打开”,数据库将在“服务器资源管理器”中打开
  6. 在“服务器资源管理器”中,展开MyDB.sdf,右键单击“表”,“创建表”(将其命名为MyTable)
  7. 添加两列“ Field1”和“ Field2”(现在将其保留为nvarchar(100))
  8. 右键单击新表,选择“显示表数据”,填写数据

代码:

using System.Data.SqlServerCe;

namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var cn = new SqlCeConnection("Data Source=MyDB.sdf"))
            {
                cn.Open();
                using (var cmd = cn.CreateCommand())
                {
                    cmd.CommandText = "select * from MyTable where Field2 like '%AB%'";
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine("Field1: {0}", reader[0]);
                        }
                    }
                }
            }
            Console.ReadKey();
        }
    }
}

将输出狐跳懒。

但是
,出于简单的目的,我会选择SQlite。包装器在这里:http
:
//system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

2021-03-17