Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将SQL Server中的数据访问策略替换为访问C中的MDB文件#_C#_Sql Server_Ms Access - Fatal编程技术网

C# 将SQL Server中的数据访问策略替换为访问C中的MDB文件#

C# 将SQL Server中的数据访问策略替换为访问C中的MDB文件#,c#,sql-server,ms-access,C#,Sql Server,Ms Access,不久前,我创建了一个小型会计应用程序。它使用SQLServer2008作为后端数据存储。现在,我意识到SQL Server对于这样一个系统来说太难了 小程序加上它不是很好移植。我的意思是,我想把这个应用程序放在我的U盘上,以便在任何地方都能方便地访问,而SQL Server将不会 到处都有。因此,现在我想将SQL Server中的数据存储替换为可移植的文件,即MS Access MDB文件 1-这是一个好的选择还是应该使用SQL Server express edition? 2-我没有使用SQ

不久前,我创建了一个小型会计应用程序。它使用SQLServer2008作为后端数据存储。现在,我意识到SQL Server对于这样一个系统来说太难了

小程序加上它不是很好移植。我的意思是,我想把这个应用程序放在我的U盘上,以便在任何地方都能方便地访问,而SQL Server将不会

到处都有。因此,现在我想将SQL Server中的数据存储替换为可移植的文件,即MS Access MDB文件

1-这是一个好的选择还是应该使用SQL Server express edition? 2-我没有使用SQL Express edition的经验。如果我使用它,在我打算运行应用程序的任何机器上都需要它吗? 2-我应该对代码进行哪些更改以使其与MDF文件(或SQL Express)兼容

正如我所说,这是一个非常简单的程序,它使用连接模型来获取和插入当前的数据。比如说

void bindGrid()
        {
            try
            {
                using (SqlConnection con = new SqlConnection(ConnectionString))
                {
                    DataSet set = new DataSet();
                    SqlDataAdapter da = new SqlDataAdapter();
                    SqlCommand selectCommand = new SqlCommand("SELECT * FROM Categories ORDER BY name", con);
                    da.SelectCommand = selectCommand;
                    da.Fill(set);
                    this.grdCategories.DataSource = set.Tables[0];
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

我不使用Access,而是使用LocalDB。除了连接字符串之外,它应该只需要很少的代码更改

LocalDB是专门为开发人员创建的。它很容易安装,不需要管理,但它提供了与常规SQLServerExpress相同的T-SQL语言、编程界面和客户端提供程序。实际上,以SQL Server为目标的开发人员不再需要在其笔记本电脑和其他开发机器上安装和管理SQL Server Express的完整实例。此外,如果LocalDB的简单性(和局限性)适合目标应用程序环境的需要,开发人员可以继续在生产中使用它,因为LocalDB也是一个很好的嵌入式数据库

我会推荐一些小项目

LocalDB与SQL Server Compact

LocalDB和SQL Server Compact之间存在显著差异:
执行模式:SQL Server Compact是进程内DLL,而LocalDB作为单独的进程运行。
磁盘使用:所有SQL Server Compact二进制文件的大小约为4MB,而LocalDB安装需要140MB。
特性:SQLServerCompact提供了查询等核心RDBMS功能,而LocalDB提供了更丰富的特性集,包括存储过程、几何图形和地理数据类型等


因此,我需要在我打算运行应用程序的任何计算机上安装它。它必须安装在本地计算机上。如果您不想这样做,我将推荐SQLite而不是SQLCE。不管是谁格式化了我的代码,我都感谢你。我自己也在尝试,但编辑器中的“代码”按钮似乎不起作用。如果我没记错的话,在您从“新建项目向导”添加“本地数据库”后,您只需指向新修改的connectionstring并将对象从SqlConnection更改为SqlCeConnection,从SqlCommand更改为SqlCeCommand等等。不需要服务器或外部驱动程序。由于进程内DDL moe,我希望实现SQL CE,但没有“存储过程”功能可能会阻止我使用它。