管理开发系统九:winform带sql数据库导出

数据库 专栏收录该内容
13 篇文章 1 订阅

我的数据库是sql server 然后需要带数据库导出 这里说一下两种方法 

先学习一下https://blog.csdn.net/wangzl1163/article/details/71404170  WinForm简单的打包和部署

https://blog.csdn.net/xhf55555/article/details/7702212   VS2010 C/S模式winForm打包部署.详细!

https://blog.csdn.net/sbq63683210/article/details/52003397

http://www.cnblogs.com/flyrain/p/winformRelease.html

以上是我安装的时候查阅的资料。

我当时遇到的坑是:新建项目 没有visual Studio Installer 这个东西  

解决方法:工具--扩展和更新--联机 查询Installer Projects

安装完重启vs.

第二个坑是:列表中选择"主输出"组是空白的 原因打包文件和要打包的项目要在一个项目里。

方法一:https://blog.csdn.net/u011981242/article/details/51059441C# winform程序怎么打包成安装项目(图解)

嗯 我看这篇文章的时候已经走上了别的道路 所以就没有亲自尝试一下 。

方法二:也就是我现在用的这个方法。SQL Server Compact 4.0

Microsoft SQL Server Compact 4.0 是适合于嵌入在桌面和 Web 应用程序中的压缩数据库。SQL Server Compact 4.0 为开发本机和托管应用程序的开发人员提供了与其他 SQL Server 版本通用的编程模型。SQL Server Compact 只需占用很少的空间即可提供关系数据库功能:强大的数据存储、优化查询处理器以及可靠、可扩展的连接。

工具--扩展和更新--联机 查询SQL Server Compact Toolbox

根据图中所示,安装完成后重启VS就可以在菜单的工具中找打,并打开使用。

2)启动Visual Studio ,先连接数据库!!! (工具--连接到数据库);

  3)连接sqlce数据库。启动SQL Server Compact/SQLite Toolbox插件(视图--其他窗口--SQL Server Compact/SQLite Toolbox);

先连接了我本来的sql数据库 

再创建Migrate to SQL Server compoct 4.0 右键 Add  Migrate to SQL Server compoct 4.0

点击Creat 创建 打开文件选择存到项目/bin/Debug文件下    填写名字 保存 设置代码然后 ok

 

 4)将sqlserver导入到sqlce中。先选择sqlserver数据库,右键--Migrate to SQL Server compoct 4.0;

点击ok   复制到你刚刚创建的sdf 

添加引用  原来的sql service只需要小小的更改一下  将所有的SqlConnection改为SqlCeConnection  

将所有的SqlCommand改为SqlCeCommand

将所有的SqlDataReader改为SqlCeDataReader

我原来的通用数据访问类 改成了这样

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;//引入读取配置文件类所在的命名
using System.Data.SqlServerCe;

namespace DAL
{
    /// <summary>
    /// 通用数据访问类
    /// </summary>
    public class SQLHelper
    {
        private const string dataSource = "sa.sdf";
        // public static string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();
        public static string connString = "Data Source=" + dataSource+ ";Persist Security Info=True;";
        public static bool OpenSQL() {
            SqlCeConnection conn = new SqlCeConnection(connString);
            conn.Open();
            try
            {
                return true;
            }
            catch (Exception)
            {
                return false;
                throw;
            }
        }
        /// <summary>
        /// 执行增、删、改操作
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int Update(string sql)
        {
            SqlCeConnection conn = new SqlCeConnection(connString);
            SqlCeCommand cmd = new SqlCeCommand(sql, conn);
            try
            {
                conn.Open();
                int result = cmd.ExecuteNonQuery();
                return result;
            }
            catch (Exception ex)
            {
                //写入系统日志
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 获取单一结果查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static object GetSingleResult(string sql)
        {
            SqlCeConnection conn = new SqlCeConnection(connString);
            SqlCeCommand cmd = new SqlCeCommand(sql, conn);
            try
            {
                conn.Open();
                object result = cmd.ExecuteScalar();
                return result;
            }
            catch (Exception ex)
            {
                //写入系统日志

                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 返回一个结果集的查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static SqlCeDataReader GetReader(string sql)
        {
            SqlCeConnection conn = new SqlCeConnection(connString);
            SqlCeCommand cmd = new SqlCeCommand(sql, conn);
            try
            {
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                //写入系统日志

                conn.Close();
                throw ex;
            }
        }
        /// <summary>
        /// 返回一个表
        /// </summary>
        /// <returns></returns>
        public static System.Data.DataTable GetDataTableFromSqlServer(string sql)
        {
            SqlCeConnection conn = new SqlCeConnection(connString);
            SqlCeDataAdapter da = new SqlCeDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "table1");
            return ds.Tables[0];
        }
    }
}

一定要记得引用 using System.Data.SqlServerCe;

然后导出 https://docs.microsoft.com/zh-cn/previous-versions/aa983326%28v%3dvs.120%29

请在“解决方案资源管理器”中,“我的项目”右键“属性” 选择  发布

单击**“应用程序文件”,然后将 .sdf 文件设置为“数据文件(自动)”**。

此设置通知安装程序将该文件视为本地数据文件,并将其放入数据目录中。

转到包含 SQL Server Compact 的目录。 它们位于 C:\Program Files\Microsoft SQL Server Compact Edition\v4.0 中。

  1. 选择下面这 7 个 SQL Server Compact DLL,并复制它们:

    • Sqlceca40.dll

    • Sqlcecompact40.dll

    • Sqlceer40EN.dll

    • Sqlceme40.dll

    • Sqlceoledb40.dll

    • Sqlceqp40.dll

    • Sqlceme40.dll

  2. 在**“解决方案资源管理器”/“数据库资源管理器”**中,将这些 DLL 粘贴到项目中。

  3. 在**“解决方案资源管理器”/“数据库资源管理器”中选择所有这 7 个 DLL,然后打开“属性”**窗口。

  4. 将**“复制到输出目录”属性设置为“如果较新则复制”**。

    这样在应用程序更新时,就将用较新的 DLL 替换现有应用程序中任何较早的 DLL。

  5. 展开项目**“引用”**节点。

  6. 选择**“System.Data.SqlServerCe”**。

  7. 将**“复制本地”属性设置为“True”**。

    由于您的开发计算机的全局程序集缓存中有 SqlServerCe DLL,因此必须将应用程序配置为使用输出目录中的 DLL。

  8. 然后自己打包exe安装 

    https://blog.csdn.net/wangzl1163/article/details/71404170  WinForm简单的打包和部署

    https://blog.csdn.net/xhf55555/article/details/7702212   VS2010 C/S模式winForm打包部署.详细!

    https://blog.csdn.net/sbq63683210/article/details/52003397

    http://www.cnblogs.com/flyrain/p/winformRelease.html

    以上是我安装的时候查阅的资料。

  9. 最后我项目带数据库打包出来才2M多点 然后甲方电脑也不需要安装sqlserver数据库 

预祝 成功!!!!!!!!!!!!!!!!!

管理系统开发一: winform连接sql数据库 https://blog.csdn.net/m0_37583098/article/details/88546146

管理系统开发二: winforml登录界面sql数据查询和修改 https://blog.csdn.net/m0_37583098/article/details/88547123

管理系统开发三: winforml录入界面 https://blog.csdn.net/m0_37583098/article/details/88547805

管理系统开发四: 在主窗体中嵌入子窗体的实现 https://blog.csdn.net/m0_37583098/article/details/88549151

管理开发系统五:winform连接数据库查询 使用DataGridView展示查询结果 https://blog.csdn.net/m0_37583098/article/details/88549461

管理开发系统六:winform连接数据库修改 https://blog.csdn.net/m0_37583098/article/details/88550157

管理开发系统七:winform连接数据库删除 https://blog.csdn.net/m0_37583098/article/details/88578796

管理开发系统八:winform导出excel https://blog.csdn.net/m0_37583098/article/details/88579043

管理开发系统九:winform带sql数据库导出 https://blog.csdn.net/m0_37583098/article/details/88580311

sql service 常用语句基础https://blog.csdn.net/m0_37583098/article/details/87876264

https://docs.microsoft.com/zh-cn/previous-versions/aa983326%28v%3dvs.110%29

  • 3
    点赞
  • 0
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

唯一不二

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值