您的位置:首页 > 编程语言 > C#

C#在线数据与本地数据同步

2018-04-03 09:55 453 查看
/// <summary>
/// 在线数据与本地数据同步 preparationConditionsData表
/// </summary>
private void preparationConditionsData_Sql(String Str_Time)
{
String connstr_OutPut = ConfigurationManager.ConnectionStrings["SQLConnStringLocal"].ConnectionString;
String connstr_InSERT = ConfigurationManager.ConnectionStrings["SQLConnStringLine"].ConnectionString;
Updata(connstr_OutPut, connstr_InSERT,Str_Time );
Updata(connstr_InSERT, connstr_OutPut,Str_Time );
}

private void Updata(String connstr_OutPut, String connstr_InSERT,String Str_time)
{
String Sql = "select * from dbo.preparationConditions";
switch (Str_time)
{
case "ThreeDay": Sql = "select * from dbo.preparationConditions where DateDiff(dd, startDate,getdate())<=3";
break;
case "OneWeek": Sql = "select * from dbo.preparationConditions where DateDiff(dd, startDate,getdate())<=7";
break;
case "OneMounth": Sql = "select * from dbo.preparationConditions where DateDiff(mm, startDate,getdate())<=1";
break;
case "ThreeMounth": Sql = "select * from dbo.preparationConditions where DateDiff(mm, startDate,getdate())<=3";
break;
}
List<preparationConditionsData> IPim = new List<preparationConditionsData>();
SqlConnection con = new SqlConnection(connstr_OutPut);
con.Open();
SqlDataAdapter dtp = new SqlDataAdapter(Sql, con);
try
{
DataTable dt = new DataTable();
dtp.Fill(dt);
foreach (var item in dt.Rows)
{
preparationConditionsData models = new preparationConditionsData();
models.PlannedId = ((DataRow)item)["plannedId"].ToString();
models.ProductId = ((DataRow)item)["productId"].ToString();
models.ProductName = ((DataRow)item)["productName"].ToString();
models.ProductModelNumber = ((DataRow)item)["productModelNumber"].ToString();
models.Details = ((DataRow)item)["details"].ToString();
models.Productionstate = ((DataRow)item)["productionstate"].ToString();
models.StartDate = ((DataRow)item)["startDate"].ToString();
models.PlanDate = ((DataRow)item)["planDate"].ToString();
models.PlanNumber = ((DataRow)item)["planNumber"].ToString();
models.CompletionOfQuantity = ((DataRow)item)["completionOfQuantity"].ToString();
models.CompletionRatio = ((DataRow)item)["completionRatio"].ToString();
models.SurplusNumber = ((DataRow)item)["surplusNumber"].ToString();
models.Remarks = ((DataRow)item)["remarks"].ToString();
models.Source = ((DataRow)item)["source"].ToString();
models.PreparationConditions = ((DataRow)item)["preparationConditions"].ToString();

IPim.Add(models);
//修改数据
CheckData(models.PlannedId, models.ProductId, models.ProductName, models.ProductModelNumber, models.Details,
models.Productionstate, models.StartDate, models.PlanDate, models.PlanNumber, models.CompletionOfQuantity,
models.CompletionRatio, models.SurplusNumber, models.Remarks, models.Source, models.PreparationConditions,
connstr_InSERT);
}
}
catch
{
con.Close();
}
}

private void CheckData(String plannedId, String productId, String productName, String productModelNumber, String details,
String productionstate, String startDate, String planDate, String planNumber, String completionOfQuantity,
String completionRatio, String surplusNumber, String remarks, String source, String preparationConditions,
String connstrLine)
{
string sql_check = "select plannedId from dbo.preparationConditions where plannedId='" + plannedId + "'";
SqlConnection conLine = new SqlConnection(connstrLine);
conLine.Open();
SqlDataAdapter adp_check = new SqlDataAdapter(sql_check, connstrLine);
DataSet ds_check = new DataSet();
adp_check.Fill(ds_check);
try
{
//检测是否存在
if (ds_check.Tables[0].Rows.Count != 0)
{
}
else
{
String sql_insert = "insert into dbo.preparationConditions values('"
+ plannedId + "','"
+ productId + "','"
+ productName + "','"
+ productModelNumber + "','"
+ details + "','"
+ productionstate + "','"
+ startDate + "','"
+ planDate + "','"
+ planNumber + "','"
+ completionOfQuantity + "','"
+ completionRatio + "','"
+ surplusNumber + "','"
+ remarks + "','"
+ source + "','"
+ preparationConditions
+ "')";
SqlCommand cmd = new SqlCommand(sql_insert, conLine);
int i = cmd.ExecuteNonQuery();
}
}
catch
{
}
finally
{
conLine.Close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息