19,498
社区成员
发帖
与我相关
我的任务
分享
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 )