SQL 导出到 指定ACCESS表 完美方案
由于程序需要把SQL SERVER 里的数据导入到ACCESS里.
刚开始使用DataSet来循环.
数据量少的时候还算可以应付的过来.
但当数据多的时候.
会报错"位置错误"
在网上搜寻一番.找到一个方法.
使用insert into openrowset
接着错误一个接一个的来..
"插入错误: 列名或所提供值的数目与表定义不匹配。"
"未能找到 OLE DB 提供程序 'Provider=Microsoft.Jet.OleDb.4.0' 的注册表项。"
导入数据后列顺序全部打乱..
后来继续搜.搜阿.搜阿.搜阿搜..
找到了这个方法.指定列名的.这样就可以指定列了.
代码如下:
[code=SQL]insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'd:\dgener.mdb';'admin';'',AccessTable) (ACCESS列名1,列名2) select SQL列名1,SQL列名2 from SqlTable
[/code]
相关文档:
---上个月月初第一天
select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 )
---上个月月末最后一天
select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 )
1. 显示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select co ......
//根据主键来删除表中的数据。
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
OleDbConnection sqlConnection = new OleDbConnection(GetConnection());
& ......
更新方法一,直接在GridView中来更新数据.
更新方法二,打开一个新的页面来更新数据.
//更新
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
&nbs ......