WPF DEV gridcontrol当前项的数据导出为mdb文件
/// <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文件的更多相关文章
- 数据导出至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; ...
- plsql 把数据导出成为 .sql文件,记住了
今天上午,同事 提醒我.可以直接把数据导出成 .sql 文件,类似于 反编译.见下图
- Qt中将QTableView中的数据导出为Excel文件
如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- VB将MSHFlexGrid数据导出到Excel文件通用功能
1.通用导出Excel功能. 2.将 MSHFlexGrid数据导出到Excel文件通用功能. 3.具体代码如下: '将下列代码保存到一模块文件中,调用方法:Export fgrid1,cd1 Pub ...
- 用node.js写一个简单爬虫,并将数据导出为 excel 文件
引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...
- dataview将excel表格的数据导出成txt文件
有时候需要处理大量的数据,且这些数据又存在于excel表格内,在平时的时候,我是非常喜欢这样的数据的,因为只要是excel表格内的数据,处理起来的方法就很方便.也可能我平时遇见的数据总是以一种杂乱无章 ...
- C#中dategridview数据导出为excel文件
先从数据库中获取数据,绑定在datagridview中,再从dategridview中导出为excel文件 1.新建窗体,把控件datagridview和按钮设置好,如图
随机推荐
- xcode打包真机测试
背景:xocode版本低于真机版本 解决方法:
- 浅谈兔兔对Object.defineProperty的理解
给一个对象定义一个新的属性或者在修改一个对象现有的属性,并返回这个对象 语法: Object.defineProperty(参数1,参数2,参数3) 参数1:目标对象 参数2:要修改或者添加的属性名称 ...
- 对spring框架的理解
spring框架的两大核心理念就是IOC和AOP,在面试的时候经常会被问到你对spring的理解.下面大致的说一下我对spring的理解. 一.IoC 1.1.什么是IoC 众所周知,IoC就是控制反 ...
- JavaScript属性(第三天)
js语法非常灵活,这致使他非常好用,也造成它比较难掌握的地方: js中的值类型与引用类型在这里不做过多介绍,可以参照其他语言. js是可以动态添加属性的: var person={}; person. ...
- 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& ...
- js比较洋气的写法
案例一:使用js的构造方法生成js对象.给该对象赋属性值或function 案例二:使用json的代码风格,完成同样的功能. <!DOCTYPE html> <html> &l ...
- 编程总结5&学习总结
基础题目 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始).并将最大值和对应的最小下标数值写入文件. 输入:请建立以自己英文名字命名的txt文件,并输入 ...
- 古墓丽影:崛起 PC版今日发售
之前xbox one的独占游戏 古墓丽影: 崛起(Rise of the Tomb Raider™), 今天正式在steam发售了, 之前就可以预购.简单看了一下, 画风跟前代类似, 但是画面更好, ...
- SignalR 行实时通信最大连接数
SignalR 搭建实时刷新应用虽然非常方便,但是有个问题你必须考虑到,就是一般的浏览器,对于SignalR的全双工通信方式,绝大多数浏览器都只支持6个新窗口,如果你打开第7个,那么新的框口页面是不会 ...
- edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
edgedb 是基于python开发的,同时集成了cython 以下为包的setup.py 配置,从里面我们可以看到关于edgedb 的一些依赖 以及构建过程 setup.py 源码 整体配置不算很多 ...