/// <summary>
/// 导出为mdb
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnExportMdb_Click(object sender, RoutedEventArgs e)
{
try
{
using (DataTable dts = new DataTable())
{
#region 查找数据源
foreach (DevExpress.Data.DataColumnInfo item in user_GridControl.DataController.Columns)
dts.Columns.Add(item.Name.ToString().Trim().ToLower(), item.Type.Name.GetType());
foreach (System.Data.DataRowView item0 in user_GridControl.DataController.GetAllFilteredAndSortedRows())
{
DataRow row = dts.NewRow();
foreach (DataColumn item in dts.Columns)
row[item.ColumnName] = item0.Row[item.ColumnName];
dts.Rows.Add(row);
}
#endregion
#region 0.用户保存文件的路径
string paths = string.Empty;
Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog();
sfd.Filter = "mdb|*.mdb";
if (sfd.ShowDialog() == true)
{
#region 1.创建mdb文件(创建数据库)
paths = sfd.FileName;
if (string.IsNullOrWhiteSpace(paths))
return;
if (!CreateAccessDb(paths))
System.Windows.MessageBox.Show("创建表失败...");
//MessageBox.Show("创建成功");
#endregion
}
#endregion
#region 2.创建表
string Table = btn_text.Replace("(", "(").Replace(")", ")");
List<string> strList = new List<string>();
StringBuilder ziduan = new StringBuilder();
foreach (DataColumn item in dts.Columns)
{
ziduan.Append("," + item.ColumnName + " text");
}
strList.Add(string.Format("create table {0}({1})", Table, ziduan.ToString().Substring()));
MDBHelper.CreateCYTable(MDBHelper.CreateConnectionNew(paths), strList);
#endregion
#region 3.添加数据
StringBuilder Tableziduan = new StringBuilder();
foreach (DataColumn item in dts.Columns)
Tableziduan.Append("," + item.ColumnName); List<string> insertSQLs = new List<string>();
int k = ;
foreach (System.Data.DataRowView item0 in user_GridControl.DataController.GetAllFilteredAndSortedRows())
{
k++;
StringBuilder data = new StringBuilder();
foreach (DataColumn item in dts.Columns)
data.Append(",'" + ((item0.Row[item.ColumnName].ToString() == "" || item0.Row[item.ColumnName].ToString() == null) ? "" : item0.Row[item.ColumnName].ToString()) + "'");
insertSQLs.Add(string.Format("INSERT INTO {0}({1}) VALUES({2});", Table, Tableziduan.ToString().Substring(), data.ToString().Substring()));
if (k == )
{
int ExecuteSuccessfully0 = MDBHelper.ExcuteListSQL(insertSQLs, paths);
k = ;
insertSQLs.Clear();
}
}
int ExecuteSuccessfully1 = MDBHelper.ExcuteListSQL(insertSQLs, paths);
#endregion
}
MessageBox.Show("导出成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

WPF DEV gridcontrol当前项的数据导出为mdb文件的更多相关文章

  1. 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

    using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...

  2. plsql 把数据导出成为 .sql文件,记住了

    今天上午,同事 提醒我.可以直接把数据导出成 .sql 文件,类似于 反编译.见下图

  3. Qt中将QTableView中的数据导出为Excel文件

    如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...

  4. Pl/sql 如何将oracle的表数据导出成excel文件?

    oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...

  5. C#将数据集DataSet中的数据导出到EXCEL文件的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  6. VB将MSHFlexGrid数据导出到Excel文件通用功能

    1.通用导出Excel功能. 2.将 MSHFlexGrid数据导出到Excel文件通用功能. 3.具体代码如下: '将下列代码保存到一模块文件中,调用方法:Export fgrid1,cd1 Pub ...

  7. 用node.js写一个简单爬虫,并将数据导出为 excel 文件

    引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...

  8. dataview将excel表格的数据导出成txt文件

    有时候需要处理大量的数据,且这些数据又存在于excel表格内,在平时的时候,我是非常喜欢这样的数据的,因为只要是excel表格内的数据,处理起来的方法就很方便.也可能我平时遇见的数据总是以一种杂乱无章 ...

  9. C#中dategridview数据导出为excel文件

    先从数据库中获取数据,绑定在datagridview中,再从dategridview中导出为excel文件 1.新建窗体,把控件datagridview和按钮设置好,如图

随机推荐

  1. xcode打包真机测试

    背景:xocode版本低于真机版本 解决方法:

  2. 浅谈兔兔对Object.defineProperty的理解

    给一个对象定义一个新的属性或者在修改一个对象现有的属性,并返回这个对象 语法: Object.defineProperty(参数1,参数2,参数3) 参数1:目标对象 参数2:要修改或者添加的属性名称 ...

  3. 对spring框架的理解

    spring框架的两大核心理念就是IOC和AOP,在面试的时候经常会被问到你对spring的理解.下面大致的说一下我对spring的理解. 一.IoC 1.1.什么是IoC 众所周知,IoC就是控制反 ...

  4. JavaScript属性(第三天)

    js语法非常灵活,这致使他非常好用,也造成它比较难掌握的地方: js中的值类型与引用类型在这里不做过多介绍,可以参照其他语言. js是可以动态添加属性的: var person={}; person. ...

  5. camelcase-hankerrank

    int camelcase(string s) { int cnt=0; int a; for(int i=0;i<s.size();i++) { a=s[i]; if(65<=a& ...

  6. js比较洋气的写法

    案例一:使用js的构造方法生成js对象.给该对象赋属性值或function 案例二:使用json的代码风格,完成同样的功能. <!DOCTYPE html> <html> &l ...

  7. 编程总结5&学习总结

    基础题目 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始).并将最大值和对应的最小下标数值写入文件. 输入:请建立以自己英文名字命名的txt文件,并输入 ...

  8. 古墓丽影:崛起 PC版今日发售

    之前xbox one的独占游戏 古墓丽影: 崛起(Rise of the Tomb Raider™), 今天正式在steam发售了, 之前就可以预购.简单看了一下, 画风跟前代类似, 但是画面更好, ...

  9. SignalR 行实时通信最大连接数

    SignalR 搭建实时刷新应用虽然非常方便,但是有个问题你必须考虑到,就是一般的浏览器,对于SignalR的全双工通信方式,绝大多数浏览器都只支持6个新窗口,如果你打开第7个,那么新的框口页面是不会 ...

  10. edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件

    edgedb 是基于python开发的,同时集成了cython 以下为包的setup.py 配置,从里面我们可以看到关于edgedb 的一些依赖 以及构建过程 setup.py 源码 整体配置不算很多 ...