/// <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. TIME_WAIT

    前言 请说说你对TCP连接中time_wait状态的理解 解答: 先上TCP的状态变迁图 1. time_wait状态如何产生? 由上面的变迁图,首先调用close()发起主动关闭的一方,在发送最后一 ...

  2. Floyd(求每2个点之间的最短路)

    稍微改变即可求传递闭包,即关心两点之间是否有同路: for(int i=0;i<n;i++) for(int j=0;j<n;j++){ if(i==j) d[i][i]=0; else ...

  3. java-多线程(上)

    ###24.01_多线程(多线程的引入)(了解) * 1.什么是线程     * 线程是程序执行的一条路径, 一个进程中可以包含多条线程     * 多线程并发执行可以提高程序的效率, 可以同时完成多 ...

  4. 简述at和crontab命令

    at 在指定时间执行相关命令 用法:at [option] TIME 常用选项: -l:查询等待运行作业的队列 -d:删除作业,加作业号 -q QUEVE: -c :查看具体作业任务: -f /pat ...

  5. cf352E Jeff and Brackets dp+矩阵快速幂(加法+min运算)

    题意大致是这样的,一共要放 m 段括号序列,每一段放 n 个括号,也就是放 n*m个括号,再每一段中的 n 个位置分别有放左括号和右括号的代价,问最终摆放出合法的括号序列的最小代价是多少. 另外保证, ...

  6. 软件开发者路线图梗概&书摘chapter7

    软件工程是一门技艺 原因:理解不足以系统化 技能:为交付可以工作的软件 重要的原因:了解不足以将它写成可供别人直接运用并得到相同成果的格式 大多数程序员低于平均水平 工艺:一套高度重视技能的训练和传统 ...

  7. C#知识点汇总

    核心技术课程 编程基础强化练习.面向过程编程(变量.if.for.while.函数.类型转换.枚举 .数组.重载.值类型.引用类型.ref.out.字符串).面向对象编程(类.继承 .接口.异常.索引 ...

  8. Servlet接口UML图

    Servlet.class源码

  9. c++——大端序,小端序的排列问题

    #include<iostream> using namespace std; union TestModel { int i; char ch; }; int main() { unio ...

  10. 压力测试:系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...