问题描述:我们有一个oracle数据库,现在要做一个离线系统,离线数据库是ACCESS,就一张表,表结构一样,本来可以通过从oracle中查出数据在插入ACCESS中的方法实现,但觉得太笨了,又没有什么比较简单的方法
解决方案 »
- 关于C#打印条形码的问题
- gridview+textbox做查询怎么写
- 如何实现datagrid的多层表头
- 我把数据库中一个blob字段用流读出,字段中存的是文字信息,如何把二进制的流转换成字符串?
- 急!!类型转达换!
- 关于c#输出带引号的字符串的问题,只输出一个引号就看晕了,大家帮忙看看
- winform的xml文件的节点可以添加多个元素么?不是一次都添加上,每次添加一个
- 谁那里有dataset中设置主从表关系的例子!在线等!
- 大家对.Net里面的宏有研究吗?up者有分!
- 调查。调查!这里有几个女的程序员,25岁以下的又有多少:)
- WINFORM 窗体内的 DataGrid 控件 选择的问题.
- 重大发现!!!treeview的缺陷!!!极难问题...收了很多地方都没有找到解决...
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
adapter.Fill(ds,"CVIC_INSPECTINFO");
OleDbCommand cmd1 = CreateCommand("SELECT * FROM CVIC_INSPECTINFO");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(cmd1);
dataAdapter.Update(ds,"CVIC_INSPECTINFO");
这是部分代码,可以执行没有异常,但数据库中没有记录,SQL语句也能查到记录,就是不插入到ACCESS中去
没用过这个?去下一个
2.使用sql server的dts工具,进行数据的导入导出.
3.使用delphi data pump来进行导入导出.
4.其它工具,很多...
5.写代码完成,比较麻烦.
DataSet ds = execaccess1.GetDataSet("SELECT * FROM VehApprobateFile WHERE CCF8NB = "+odr.GetString(3).ToString(),"CVIC_VEHAPPROBATEFILE");
DataSet objDataSetChanges = new DataSet();
objDataSetChanges = ds;
DataRow anyRow = ds.Tables["CVIC_VEHAPPROBATEFILE"].NewRow();
anyRow.ItemArray = ds.Tables["CVIC_VEHAPPROBATEFILE"].Rows[0].ItemArray;
objDataSetChanges.Tables["CVIC_VEHAPPROBATEFILE"].Rows.Add(anyRow);
if ((objDataSetChanges != null))
{
try
{
// 需要做一些更改,所以尝试通过调用 update 方法
// 和传递数据集以及任何参数来更新数据源。
cmd.CommandText = "SELECT * FROM CVIC_VEHAPPROBATEFILE WHERE CCF8NB = "+odr.GetString(3).ToString();
//创建数据库适配器
OracleDataAdapter myDataAdapter = new OracleDataAdapter(cmd);
//创建数据库命令构造器
OracleCommandBuilder cb = new OracleCommandBuilder();
cb.DataAdapter = myDataAdapter;
myDataAdapter.InsertCommand = cb.GetInsertCommand();
myDataAdapter.Update(objDataSetChanges,"CVIC_VEHAPPROBATEFILE");
//dataset.Merge(dataset);
ds.AcceptChanges();
}
catch (System.Exception eUpdate)
{
// 在此处添加错误处理代码。
throw eUpdate;
}
}
解決了,只要數據結構相同,DATASET是通用的即可