【急】SQL Server数据导入Compact数据库

anbin0814 2012-07-27 01:44:46

private static void CopyTable(SqlConnection sqlConn, SqlCeConnection ceConn, string queryString, string destTableName, bool delTalbe)
{
sqlConn.Open();
ceConn.Open();
SqlCommand sqlCmd = sqlConn.CreateCommand();
sqlCmd.CommandText = queryString;

SqlCeCommand ceCmd = ceConn.CreateCommand();
ceCmd.CommandType = CommandType.TableDirect;
ceCmd.CommandText = destTableName;

SqlDataReader sqlReader = sqlCmd.ExecuteReader();

SqlCeResultSet resultSet = ceCmd.ExecuteResultSet(
ResultSetOptions.Sensitive | //检测对数据源所做的更改
ResultSetOptions.Scrollable | //可以向前或向后滚动
ResultSetOptions.Updatable); //允许更新数据

if (delTalbe)
{
string sql = "delete " + destTableName;

SqlCeCommand cmd = ceConn.CreateCommand();
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}

object[] values;

SqlCeUpdatableRecord record;

while (sqlReader.Read())
{
//从源数据库表中读取数据
values = new object[sqlReader.FieldCount];
sqlReader.GetValues(values);

//把数据写入到Conpact数据库
record = resultSet.CreateRecord();
record.SetValues(values);
resultSet.Insert(record);
}

sqlReader.Close();
resultSet.Close();

sqlConn.Close();
ceConn.Close();

}



CREATE TABLE [dbo].[test](
[id] [int] NOT NULL,
[order] [int] NULL,
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED )



resultSet.Insert(record);这句老是报错 Unspecified error [ test ]

"SQL Server Compact ADO.NET Data Provider"
" at System.Data.SqlServerCe.SqlCeDataReader.ProcessResults(Int32 hr)\r\n at System.Data.SqlServerCe.SqlCeResultSet.SetValues(SEPREPAREMODE mode, SqlCeUpdatableRecord record)\r\n at System.Data.SqlServerCe.SqlCeResultSet.InternalInsert(Boolean fMoveTo, Object sender, SqlCeUpdatableRecord record)\r\n at System.Data.SqlServerCe.SqlCeResultSet.Insert(SqlCeUpdatableRecord record)\r\n at SmartMobileDevice.DAL.DataSynTools.CopyTable(SqlConnection sqlConn, SqlCeConnection ceConn, String queryString, String destTableName, Boolean delTalbe)\r\n at SmartMobileDevice.DAL.DataSynTools.Syn()\r\n at SmartMobileDevice.Login.button1_Click(Object sender, EventArgs e)\r\n at System.Windows.Forms.Control.OnClick(EventArgs e)\r\n at System.Windows.Forms.Button.OnClick(EventArgs e)\r\n at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)\r\n at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)\r\n at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)\r\n at System.Windows.Forms.Application.Run(Form fm)\r\n at SmartMobileDevice.Program.Main()\r\n"
...全文
85 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,518

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧