你數據是讀sqlserver裡面的資料用da.update也是update sqlserver的資料表你可以連接到access,直接insert進去
或者用sql server的dts導出
或者用sql server的dts導出
解决方案 »
- 这个函数怎么用? 最好有代码--对EXCEL操作的,不会建立这个WS,并装如某个EXCEL
- 求过滤文本框中相同内容的算法
- C# 线程调用c++ com组件
- 后台复杂运算,加个进度条,进度条假死怎么解决
- C# SGIP 协议的传输和接受
- 请教一个用PICTUREbox显示数据库的图片,有什么方法比较好,当按下一条或上一条记录时能很好的显示?
- C# SQL datagridview 显示当前用户信息的问题。
- Sybase复制的问题,请大家帮忙!
- InfragisticsNetAdvantage控件组forAsp 运行时出错!!!!! 郁闷........
- 有没有c#在linux的网络应用的书?
- 如何实现类似CSDN右侧的树型结构菜单
- 怪:这个网站怎么看不到完整的源文件html代码(http://7m.cn/ -》即使比分-》最新赛果
ds1.WriteXml()
ds2.ReadXml()
这样就可以了
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDbPublic Class ClsSqlToOle
Private _tableName As String
Private _oleCriteria, _sqlCriteria As String Public Sub New() End Sub Public Sub New(ByVal tableName As String, ByVal oleCriteria As String, ByVal sqlCriteria As String)
_tableName = tableName
_oleCriteria = oleCriteria
_sqlCriteria = sqlCriteria
End Sub Public Function Execute() As String
Return Me.Execute(_tableName, _oleCriteria, _sqlCriteria)
End Function Public Function Execute(ByVal tableName As String, ByVal oleCriteria As String, ByVal sqlCriteria As String) As String
Dim sqlConn As New SqlConnection(ClsConnServer.ConnStr)
Dim oleConn As New OleDbConnection(ClsConnStr.ConnStr)
Dim sqlAdapter As SqlDataAdapter, oleAdapter As OleDbDataAdapter
Dim sqlCmdBuilder As SqlCommandBuilder
Dim oleCmdBuilder As OleDbCommandBuilder
Dim sqlQry, oleQry As String
Dim sqlData, oleData As DataSet
Dim row As DataRow, rowInx As Integer, rowCount As Integer
Try
'get updating data ole db
oleConn.Open()
oleQry = "select * from " & tableName & Space(1) & oleCriteria
oleAdapter = New OleDbDataAdapter(oleQry, oleConn)
oleData = New DataSet()
oleAdapter.Fill(oleData, tableName) 'builde ins/del command
oleCmdBuilder = New OleDbCommandBuilder(oleAdapter)
oleQry = "delete from " & tableName & Space(1) & oleCriteria
oleAdapter.DeleteCommand = New OleDbCommand(oleQry, oleConn)
oleAdapter.InsertCommand = oleCmdBuilder.GetInsertCommand 'delete from ole db
oleAdapter.DeleteCommand.ExecuteNonQuery()
oleData.Clear() 'rowCount = oleData.Tables(tableName).Rows.Count
'If rowCount > 0 Then
' For rowInx = rowCount - 1 To 0 Step -1
' oleData.Tables(tableName).Rows(rowInx).Delete()
' Next
'End If
'oleAdapter.Update(oleData, tableName)
'oleData.AcceptChanges() 'get source data from sql db
sqlConn.Open()
sqlQry = "select * from " & tableName & Space(1) & sqlCriteria
sqlAdapter = New SqlDataAdapter(sqlQry, sqlConn)
sqlData = New DataSet()
sqlAdapter.Fill(sqlData, tableName) For Each row In sqlData.Tables(tableName).Rows
Dim newRow As DataRow = oleData.Tables(tableName).NewRow
Dim col As DataColumn For Each col In oleData.Tables(tableName).Columns
newRow(col.ColumnName) = row(col.ColumnName)
Next oleData.Tables(tableName).Rows.Add(newRow)
Next oleAdapter.Update(oleData, tableName)
Catch e As Exception
ClsReturnData.strError += ClsDataHelper.GetTableRefName(tableName) & " 数据传输失败." + Chr(13)
Finally
sqlConn.Close() : oleConn.Close()
sqlConn.Dispose() : oleConn.Dispose()
End Try
End FunctionEnd Class
newRow(col.ColumnName) = row(col.ColumnName)
Next
----------------
如果烈都一样,这句可以改成这样,
newRow.ItemArray = row .ItemArray
用Connection连接Access数据库,在用Insert into * from [ODBC;DSN=sqldatacn;UID=sa;PWD=;].dbo.tablename执行
中间那段代码可以在Access的帮助中找到。