备份
C# 2018-07-03 17:46:21

工具 - 对象浏览器

打开左侧菜单 

1.png

 

C/C++ Code复制内容到剪贴板
  1. String UserId = "sa";   //sqlserver 用户名  
  2. String UserPwd = "sa";  // sqlserver 密码  
  3. String Database = "xuante"// 数据库名  
  4. String ComputerName = "DESKTOP-RGLDQK0\\SQLEXPRESS";  
  5.   
  6. //String connsql = "Persist Security Info=True;User ID=" + UserId + ";Password=" + UserPwd + ";Initial Catalog=" + Database + ";Data Source=" + ComputerName;  
  7. String connsql = "server=" + ComputerName + ";database=" + Database + ";integrated security=SSPI"// 数据库连接字符串,database设置为自己的数据库名,以Windows身份验证  
  8. try  
  9. {  
  10.     using (SqlConnection conn = new SqlConnection())  
  11.     {  
  12.         conn.ConnectionString = connsql;  
  13.         // conn.Open(); // 打开数据库连接  
  14.   
  15.         String sql = "select * from UserInfo"// 查询语句  
  16.   
  17.         // 实例化适配器  
  18.         using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conn))  
  19.         {  
  20.             DataTable dt = new DataTable();// 实例化数据表  
  21.   
  22.             //把数据库中的数据填充到内存表Dt中。  
  23.             //填充之前不需要打开数据库连接,Adapter会自动打开连接,并执行sql。  
  24.             adapter.Fill(dt);  
  25.             // dataGridView1.DataSource = dt; // 设置到DataGridView中  
  26.   
  27.             // 将结果集转为json  
  28.             string dataResult = Tools.DataTableToJson(dt);  
  29.   
  30.             //声明并添加元素  
  31.             Dictionary<string, string> PostData = new Dictionary<string, string>();  
  32.             String URL = "http://47.89.12.4:9507/";  
  33.             PostData.Add("data", dataResult);  
  34.             string result = Tools.HttpRequest(URL, PostData, "post");  
  35.   
  36.             JavaScriptSerializer json = new JavaScriptSerializer();  
  37.             string para = json.Serialize(result); //转json字符串  
  38.             SynchronousParkData ret = json.Deserialize<SynchronousParkData>(result); //解析json字符串  
  39.             if (ret.errcode == 0)  
  40.             {  
  41.                 string tips = "同步成功..." + "\n";  
  42.                 // 将textBox1的内容插入到第一行  
  43.                 // 索引0是 richText1 第一行位置  
  44.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips);  
  45.                 // MessageBox.Show("同步成功");  
  46.             }  
  47.             else  
  48.             {  
  49.                 MessageBox.Show("同步失败");  
  50.             }  
  51.   
  52.   
  53.             //Console.Write(result);  
  54.             // var id = dt.Rows[0][1];  //第一行第一列的值  
  55.         }  
  56.   
  57.   
  58.         // conn.Close(); // 关闭数据库连接  
  59.     }  
  60. }  
  61. catch (Exception ex)  
  62. {  
  63.     MessageBox.Show("错误信息:" + ex.Message, "出现错误");  
  64. }  

 

 

 

C/C++ Code复制内容到剪贴板
  1. DataSet ds = new DataSet();  
  2. // ds.Tables[0]就是dataTable  

 

 

C/C++ Code复制内容到剪贴板
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5.   
  6. namespace WindowsFormsApplication1  
  7. {  
  8.     class SynchronousGetParkData  
  9.     {  
  10.         public int errcode;  
  11.         public string errmsg;  
  12.         public listDetai[] data; // 数组处理  
  13.   
  14.         // 构造函数  
  15.         public SynchronousGetParkData()  
  16.         {  
  17.             errcode = 0;  
  18.             errmsg = null;  
  19.         }  
  20.   
  21.         public struct listDetai  
  22.         {  
  23.             public int id { get; set; }  
  24.             public string car_no { get; set; }  
  25.             public string card_no { get; set; }  
  26.             public string owner_name { get; set; } // 车主称呼  
  27.             public string tel { get; set; } // 联系电话  
  28.             public string addr { get; set; }  
  29.             public string car_name { get; set; }  // 车牌号  
  30.             // 状态,1是启用,2是弃用  
  31.             public int status {  
  32.                 get {  
  33.                     if (status == 0)  
  34.                     {  
  35.                         return 1;  
  36.                     }  
  37.                     else  
  38.                     {  
  39.                         return status;  
  40.                     }  
  41.                 }  
  42.                 set {  
  43.                     status = value;  
  44.                 }  
  45.             } // 是否启用,状态  
  46.         };  
  47.   
  48.     }  
  49. }  

 

 

 

C/C++ Code复制内容到剪贴板
  1. using System;  
  2. using System.Windows.Forms; // DataGridView控件类的命名空间  
  3. using System.Web.Script.Serialization;  
  4. using System.Collections.Generic;  
  5. using System.Data;          //DataSet类的命名空间  
  6.   
  7. namespace WindowsFormsApplication1  
  8. {  
  9.     public partial class Form1 : Form  
  10.     {  
  11.         System.Timers.Timer parkSyncTime = new System.Timers.Timer(3000); //设置停车场数据同步时间间隔为60秒 * 5  
  12.   
  13.         // 构造函数  
  14.         public Form1()  
  15.         {  
  16.             InitializeComponent();  
  17.         }  
  18.   
  19.         // 初始化  
  20.         private void Form1_Load(object sender, EventArgs e)  
  21.         {  
  22.             Control.CheckForIllegalCrossThreadCalls = false;  
  23.         }  
  24.   
  25.         // 【铵钮】停车场开始同步数据库 按钮点击事件  
  26.         private void parkTask_Click(object sender, EventArgs e)  
  27.         {  
  28.             /* 出入场数据同步发送 */  
  29.             parkSyncTime.Enabled = true;  
  30.             parkSyncTime.Elapsed += new System.Timers.ElapsedEventHandler(startParkTask);  
  31.             parkSyncTime.AutoReset = true//每到指定时间Elapsed事件是触发一次(false),还是一直触发(true)  
  32.             /* 发送成功 */  
  33.         }  
  34.   
  35.         // 【铵钮】暂停停车场同步任务  
  36.         private void stopParkTask_Click(object sender, EventArgs e)  
  37.         {  
  38.             parkSyncTime.Stop();  
  39.   
  40.             string tips = DateTime.Now.ToString() + " - 暂停停车场数据同步" + "\n";  
  41.             string newLine = tips + Environment.NewLine;  
  42.             // 将textBox1的内容插入到第一行  
  43.             richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  44.         }  
  45.   
  46.   
  47.         //************************************************************************ 执行发送当前数据库的数据到远程服务器,再执行获取远程服务器的放行车辆数据insert到库中  
  48.         // 开始停车场同步任务 -> 获取数据库里的以json形式发送给指定接口  
  49.         private void startParkTask(object sender, EventArgs e)  
  50.         {  
  51.             string sql = "select * from UserInfo"// 查询语句  
  52.             string dataResult = SynchronousParkData.QueryToJson(sql);  
  53.   
  54.             //声明并添加元素  
  55.             Dictionary<string, string> PostData = new Dictionary<string, string>();  
  56.             String URL = "http://47.89.12.4:9507/";  
  57.             PostData.Add("data", dataResult);  
  58.               
  59.             // System.Diagnostics.Debug.WriteLine(result);   
  60.             string result = Tools.HttpRequest(URL, PostData, "post");  
  61.   
  62.             if (string.IsNullOrEmpty(result))  
  63.             {  
  64.                 // 如果result为空或null  
  65.                 string tips = DateTime.Now.ToString() + " 网络连接失败或服务器没有响应,请检查网络" + "\n";  
  66.                 // 将textBox1的内容插入到第一行  
  67.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  68.                 parkSyncTime.Stop();  
  69.                 return;  
  70.             }  
  71.   
  72.             //System.Diagnostics.Debug.WriteLine(result);  
  73.   
  74.             JavaScriptSerializer json = new JavaScriptSerializer();  
  75.             SynchronousParkData ret = json.Deserialize<SynchronousParkData>(result); //解析json字符串    
  76.   
  77.             if (ret.errcode == 0)  
  78.             {  
  79.                 string tips = DateTime.Now.ToString() + " - 同步成功" + "\n";  
  80.                 // 将textBox1的内容插入到第一行  
  81.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  82.             }  
  83.             else  
  84.             {  
  85.                 string tips = DateTime.Now.ToString() + " - 同步数据失败,请联系管理员 => " + ret.errmsg + "\n";  
  86.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  87.             }  
  88.   
  89.             // 同步放行车辆  
  90.             this.getParkInfo();  
  91.         }  
  92.   
  93.         // 获取通行车辆信息同步至数据库  
  94.         private void getParkInfo()  
  95.         {  
  96.             //声明并添加元素    
  97.             Dictionary<string, string> PostData = new Dictionary<string, string>();  
  98.             String URL = "http://47.89.12.4:9507/";  
  99.             PostData.Add("act""licensePlate");  
  100.             string result = Tools.HttpRequest(URL, PostData, "get");  
  101.   
  102.             JavaScriptSerializer json = new JavaScriptSerializer();  
  103.             SynchronousGetParkData ret = json.Deserialize<SynchronousGetParkData>(result); //解析json字符串   
  104.               
  105.             if (ret.errcode == 0)  
  106.             {  
  107.                 string tips = DateTime.Now.ToString() + " - 放行车辆数据同步成功" + "\n";  
  108.                 // 将textbox1的内容插入到第一行  
  109.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  110.   
  111.                 //for循环遍历  
  112.                 // Array data = ret.data;  
  113.   
  114.                 SynchronousGetParkData.listDetai[] parkData = ret.data; // 声明  
  115.                 for (int i=0; i<parkData.Length; i++)  
  116.                 {  
  117.                     //string sql = "select count(*) from Carinfo where CarName = '浙CFG093'";  
  118.                     //string queyrRes = SynchronousParkData.QueryToJson(sql);  
  119.                     int res = 0;  
  120.                     string sence = "";  
  121.   
  122.                     bool carId = SynchronousParkData.dataExist("Carinfo""CarName", parkData[i].car_name); // 车牌号是否已存在 parkData[i].car_name  
  123.                     if (carId)  
  124.                     {  
  125.                         // 如果存在,更新  
  126.                         Dictionary<string, string> setDict = new Dictionary<string, string>();  
  127.                         setDict.Add("CarNo", parkData[i].card_no);  
  128.                         setDict.Add("OwnerName", parkData[i].owner_name);  
  129.                         setDict.Add("UseState", parkData[i].status.ToString());  
  130.                         setDict.Add("Tel", parkData[i].tel);  
  131.                         setDict.Add("Addr", parkData[i].addr);  
  132.   
  133.                         Dictionary<string, string> whereDict = new Dictionary<string, string>();  
  134.                         whereDict.Add("CarName", parkData[i].car_name);  
  135.                         res  = SynchronousParkData.UpdateDictQuery("Carinfo", setDict, whereDict);  
  136.                         sence = "更新";  
  137.                     }  
  138.                     else  
  139.                     {  
  140.                         // CarNo => 车号  CardNO => 卡片内码 OwnerName => 车主姓名  UseState => 使用状态  CarName => 车牌号  CarType => 车辆类型  
  141.                         Dictionary<string, string> dataDict = new Dictionary<string, string>();  
  142.                         dataDict.Add("CarNo", parkData[i].id.ToString());  
  143.                         dataDict.Add("CardNO""");  
  144.                         dataDict.Add("UserType", parkData[i].roe_name);  
  145.                         dataDict.Add("OwnerName", parkData[i].owner_name);  
  146.                         dataDict.Add("UseState", parkData[i].status.ToString());  
  147.                         dataDict.Add("Tel", parkData[i].tel);  
  148.                         dataDict.Add("Addr", parkData[i].addr);  
  149.                         dataDict.Add("CarName", parkData[i].car_name);  
  150.                         res = SynchronousParkData.AddDictQuery("Carinfo", dataDict);  
  151.                         sence = "写入";  
  152.                     }  
  153.   
  154.                     if (res < 1)  
  155.                     {  
  156.                         tips = DateTime.Now.ToString() + " - 车牌号:" + parkData[i].car_name + "车主:" + parkData[i].owner_name + " 放行车辆 "+ sence +" 失败" + "\n";  
  157.                         // 将textbox1的内容插入到第一行  
  158.                         richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  159.                     }  
  160.   
  161.                 }  
  162.                   
  163.   
  164.             }  
  165.             else {  
  166.                 string tips = DateTime.Now.ToString() + " - 放行车辆数据同步失败,请联系管理员 => " + ret.errmsg + "\n";  
  167.                 richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  168.             }  
  169.         }  
  170.   
  171.         private void richTextBox1_TextChanged(object sender, EventArgs e)  
  172.         {  
  173.   
  174.         }  
  175.   
  176.          
  177.     }  
  178. }  

 

 

 

C/C++ Code复制内容到剪贴板
  1. // 本地到云端,人员信息同步  
  2. private void localToServer_Click(object sender, EventArgs e)  
  3. {  
  4.     string sql = "select * from UserInfo"// 查询本地人员信息  
  5.     DataSet dataResult = SynchronousParkData.Query(sql);  
  6.     DataTable dt = dataResult.Tables[0];  
  7.   
  8.     // 组合人员信息数组,发送给服务器  
  9.     String URL = "http://47.89.12.4:9507/";  
  10.     for (int i = 0; i < dt.Rows.Count; i++)  
  11.     {  
  12.         Dictionary<string, string> PostData = new Dictionary<string, string>();  
  13.         PostData.Add("UID", dt.Rows[i]["UID"].ToString());  
  14.         PostData.Add("UserName", dt.Rows[i]["UserName"].ToString());  
  15.         PostData.Add("Remark", dt.Rows[i]["Remark"].ToString());  
  16.           
  17.         //PostData.Add("data", dataResult2);  
  18.         // System.Diagnostics.Debug.WriteLine(result);   
  19.         string result = Tools.HttpRequest(URL, PostData, "post");  
  20.         JavaScriptSerializer json = new JavaScriptSerializer();  
  21.         SynchronousGetParkData ret = json.Deserialize<SynchronousGetParkData>(result); //解析json字符串   
  22.         if (ret.errcode == 0)  
  23.         {  
  24.             string tips = DateTime.Now.ToString() + " - 同步本机人员信息:" + dt.Rows[i]["UserName"].ToString() + " => 成功" + "\n";  
  25.             // 将textbox1的内容插入到第一行  
  26.             richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  27.         }  
  28.         else  
  29.         {  
  30.             string tips = DateTime.Now.ToString() + " - 同步本机人员信息:" + dt.Rows[i]["UserName"].ToString() + " => 失败" + "\n";  
  31.             // 将textbox1的内容插入到第一行  
  32.             richTextBox1.Text = richTextBox1.Text.Insert(0, tips + Environment.NewLine);  
  33.         }  
  34.     }  
  35.     return;  
  36. }  

 

 1.png

 2.png

本文来自于:http://www.yoyo88.cn/study/net/334.html

Powered by yoyo苏ICP备15045725号