我用winform做一个数据从一个access文件中导到另一个access文件中.
两个access文件中的表是一样的,只是加一个"数据导入"功能.比如说有10个access文件中的数据要导到一个access文件中做汇总.如何实现?谢谢.
两个access文件中的表是一样的,只是加一个"数据导入"功能.比如说有10个access文件中的数据要导到一个access文件中做汇总.如何实现?谢谢.
解决方案 »
- (问个网络的题)计算机网络设计一个类似TCP的滑动窗口协议(回答好了给充话费)
- WinForm可不可以把数据库中的某张表的值导出到已写好表头的Excel中?
- C# 设置ppt页面比例操作( ppt 高手 快进啊 急)
- 女部门经理给我几个文件,问我是什么数据库,我晕
- 求连接oracle数据库字符串!
- 我不知道如何处理这种问题,求帮忙了!
- C#.net 2005调用delphi写的dll返回数组的问题...
- 请问如何将ffffff这样的颜色值直接变为十六进制?
- imageList显示图片问题
- 我用为软的数据窗口向导生成的窗口为什么一点上一个或者下一个按纽就提示“主码不可为空”呢?急!!!!!!!!!!!!
- 请教数据查询后返回文本框的问题?
- 求最简单的C#代码,说明多线程编码示例
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;namespace testDB
{
public abstract class DBase
{
protected OleDbConnection conn; private void OpenConnection()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
} public void CloseConnection()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
} public int Query(string sql)
{
int ret = -1;
try
{
OleDbCommand cmd = new OleDbCommand(sql, conn);
OpenConnection();
ret = cmd.ExecuteNonQuery();
return ret;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return -1;
} public DataTable OpenTable(string tableName)
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dtable = null;
string query = "select * from " + tableName;
adapter.SelectCommand = new OleDbCommand(query, conn);
DataSet dset = new DataSet("mydata");
try
{
OpenConnection();
adapter.Fill(dset);
dtable = dset.Tables[0];
CloseConnection();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return dtable;
} public DataTable OpenQuery(string query)
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dtable = null;
DataSet dset = new DataSet();
try
{
adapter.SelectCommand = new OleDbCommand(query, conn);
OpenConnection();
int count = adapter.Fill(dset); if (dset.Tables.Count > 0)
{
dtable = dset.Tables[0];
}
CloseConnection();
return dtable;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return dtable;
} public void OpenConnection(string connectionString)
{
conn = new OleDbConnection(connectionString);
} public OleDbConnection getConnection()
{
return conn;
}
} class AxsDatabase : DBase
{
public AxsDatabase(string dbName)
{
string connectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName;
OpenConnection(connectionString);
}
} static class Program
{
static void Main()
{
CopyTable("src.mdb", "src", "dest.mdb", "dest");
} static void CopyTable(string srcDBFile, string srcTable, string destDBFile, string destTable)
{
AxsDatabase srcDBase = new AxsDatabase(srcDBFile);
AxsDatabase destDBase = new AxsDatabase(destDBFile); DataTable srcDataTable = srcDBase.OpenTable(srcTable); foreach (DataRow dataRow in srcDataTable.Rows)
{
string sql = GetInsertSql(destTable, dataRow);
destDBase.Query(sql);
} srcDBase.CloseConnection();
destDBase.CloseConnection();
} static string GetInsertSql(string srcTable,DataRow dataRow)
{
StringBuilder sql = new StringBuilder();
sql.AppendFormat("insert into {0} values(",srcTable); foreach (object obj in dataRow.ItemArray)
{
if (obj is string)
{
sql.AppendFormat("'{0}'", obj.ToString());
}
else
{
sql.Append(obj.ToString());
}
sql.Append(',');
} sql.Remove(sql.Length - 1, 1);
sql.Append(')');
return sql.ToString();
}
}
}