.net第三方数据库物理卡号同步功能实现

本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面。
第三方数据库为增量,每次读取要记录读取的最大位置。我是保存在本地txt文件里面。
 1                      
//保存的路径
string filepath = Server.MapPath("~/temp/TestTxt.txt"); 2 //读取上次记录 3 //判断txt文件是否存在 4 string strOpen = ""; 5 if (!File.Exists(filepath)) 6 { 7 //创建txt 8 StreamWriter strmsave = new StreamWriter(filepath, true, System.Text.Encoding.GetEncoding("gb2312")); 9 strmsave.Write("0"); 10 strmsave.Close(); 11 StreamReader strmopen = new StreamReader(filepath, System.Text.Encoding.GetEncoding("gb2312")); 12 strOpen = strmopen.ReadToEnd(); 13 strmopen.Close(); 14 } 15 else 16 { 17 StreamReader strmopen = new StreamReader(filepath, System.Text.Encoding.GetEncoding("gb2312")); 18 strOpen = strmopen.ReadToEnd(); 19 strmopen.Close(); 20 }

                    int maxidnumber = 0;
                    if (!string.IsNullOrEmpty(strOpen))
                          {
                       maxidnumber = Convert.ToInt32(strOpen);
                          }

 

 1  string sql = "select top " + System.Configuration.ConfigurationManager.AppSettings["ReadCount"] + " * from User_Infor_Message where idnumber>" + maxidnumber + " order by idnumber";
 2                     DataTable tab1 = DBHelper.GetDataSetBySql(sql).Tables[0];
 3                     int tempid = 0;
 4                     foreach (DataRow item in tab1.Rows)
 5                     {
 6                         if (Convert.ToInt32(item["idnumber"]) > maxidnumber)
 7                         {
 8                             tempid = Convert.ToInt32(item["idnumber"]);
 9                         }
10                         if (tab.Rows.Count > 0)
11                         {
12                             string MessageType = item["MessageType"].ToString();//数据状态
13                             string outid = item["IDSERIAL"].ToString();//证件号,匹配字段
14                             string cardnumber = item["CARDID"].ToString();//物理卡号
15                             string strSql = "";
16                             if (MessageType != "0" || MessageType != "2")
17                             {
18                                 DataRow[] rows = tab.Select("onecard='" + outid + "'");
19                                 if (rows.Length > 0)
20                                 {
21                                     string info_id = rows[0][0].ToString();//获取用户id
22                                     //更新数据
23                                     strSql = "update sub_file_relation set cardnumber='" + cardnumber + "' where info_id='" + info_id + "'";
24                                     cmd.CommandText = strSql;
25                                     cmd.ExecuteNonQuery();
26                                 }
27                                 else
28                                 {
29                                     //新增数据
30                                 }
31                             }
32                         }
33                     }
34                     if (tab1.Rows.Count > 0)
35                     {
36                         maxidnumber = Convert.ToInt32(tempid);
37                         //写入记录数据
38                         StreamWriter strmsave1 = new StreamWriter(filepath, false, System.Text.Encoding.GetEncoding("gb2312"));
39                         strmsave1.Write(maxidnumber);
40                         strmsave1.Close();
41                     }
42                     //ClientScript.RegisterStartupScript(this.GetType(), "123", "<script>alert('数据同步完成')</script>");
43                     trans.Commit();

更新数据的主要代码

本地数据库用的是Oracle,第三方数据库是SQL Server,连接字符串保存在web.config里面。

转载于:https://www.cnblogs.com/wqsfight/p/7453996.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值