110,534
社区成员
发帖
与我相关
我的任务
分享
//循环要同步的表
foreach (string key in tablesList)
{
string tableName = key;
//得到要同步的数据
string sqlString = string.Format("Select Top 100 * From {0} Order By {1} asc", tableName, primaryName);
dataAdapter = new SqlDataAdapter(sqlString, A表连接);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
DataTable dataTable = ds.Tables[0];
try
{
StringBuilder insertString = new StringBuilder();
//循环要同步数据的行
foreach (DataRow dataRow in dataTable.Rows)
{
insertString.Append(" insert into " + tableName + " values(");
//循环要同步的数据的列
foreach (DataColumn dataColumn in dataTable.Columns)
{
// 如果为int型则不需要再SQL语句中加单引号
if (dataColumn.DataType == System.Type.GetType("System.Int32"))
{
insertString.Append(dataRow[dataColumn.ColumnName]);
}
else //否则加上单引号
{
insertString.Append("'");
insertString.Append(dataRow[dataColumn.ColumnName]);
insertString.Append("'");
}
insertString.Append(",");
}
//移除最后一个多余的逗号
insertString.Remove(insertString.Length - 1, 1);
insertString.Append(")");
if (OperData(insertString.ToString(), B表连接))
{
string deleteString = "Delete From " + tableName + " Where " + primaryName + "=" + dataRow[primaryName];
OperData(deleteString, A表连接);
}
}
}
catch (Exception exception)
{
}