1 using MySql.Data.MySqlClient;
2 using MySQL.Models;
3 using System;
4 using System.Collections.Generic;
5 using System.Data;
6 using System.Text;
7
8 namespace MySQL.ExcelTop
9 {
10 public class ORM_OnLine
11 {
12 public List<OnLine> GetOpenIp(string number)
13 {
14 string sql = "select Ip from online where PingState='open' and Indexes=?Number order by convert(PingTime,datetime) desc;";
15 MySqlParameter[] ps = { new MySqlParameter("?Number", number) };
16 DataTable table = SqlHelper.GetTable(sql, ps);
17 List<OnLine> line = new List<OnLine>();
18 foreach (DataRow row in table.Rows)
19 {
20 line.Add(new OnLine() { Ip = row["Ip"].ToString() });
21 }
22 return line;
23 }
24 public List<OnLine> GetOnLine()
25 {
26 string sql = "select * from online where PingState='open' order by convert(PingTime,datetime) desc limit 0,1000;";
27 List<OnLine> ol = MemoryList(SqlHelper.GetTable(sql), new List<OnLine>());
28 return ol;
29 }
30 public int GetOnLine(string ip)
31 {
32 string sql = "select count(*) from online where Ip=?Ip";
33 MySqlParameter[] ps = { new MySqlParameter("?Ip", ip) };
34 int i = Convert.ToInt32(SqlHelper.ExecuteScalar(sql, ps));
35 return i;
36 }
37 public bool AddOnLine(OnLine ol)
38 {
39 string sql = "insert into online (Ip,PingState,PingTime,PortState,PortTime,Indexes,Starts,TheEnd,Sum) values (?Ip,?PingState,?PingTime,?PortState,?PortTime,?Indexes,?Starts,?TheEnd,?Sum)";
40 MySqlParameter[] ps = {
41 new MySqlParameter("?Ip",ol.Ip),
42 new MySqlParameter("?PingState",ol.PingState),
43 new MySqlParameter("?PingTime",ol.PingTime),
44 new MySqlParameter("?PortState",ol.PortState),
45 new MySqlParameter("?PortTime",ol.PortTime),
46 new MySqlParameter("?Indexes",ol.Indexes),
47 new MySqlParameter("?Starts",ol.Starts),
48 new MySqlParameter("?TheEnd",ol.TheEnd),
49 new MySqlParameter("?Sum",ol.Sum)
50 };
51 return SqlHelper.ExecuteNonQuery(sql, ps) > 0;
52 }
53 public bool UpOnLine(OnLine ol)
54 {
55 string sql = "update online set PingState=?PingState,PingTime=?PingTime,Indexes=?Indexes where Ip=?Ip";
56 MySqlParameter[] ps = {
57 new MySqlParameter("?Ip",ol.Ip),
58 new MySqlParameter("?PingState",ol.PingState),
59 new MySqlParameter("?PingTime",ol.PingTime),
60 new MySqlParameter("?PortState",ol.PortState),
61 new MySqlParameter("?PortTime",ol.PortTime),
62 new MySqlParameter("?Indexes",ol.Indexes),
63 new MySqlParameter("?Starts",ol.Starts),
64 new MySqlParameter("?TheEnd",ol.TheEnd),
65 new MySqlParameter("?Sum",ol.Sum)
66 };
67 return SqlHelper.ExecuteNonQuery(sql, ps) > 0;
68 }
69 public List<OnLine> MemoryList(DataTable table, List<OnLine> list)
70 {
71 foreach (DataRow row in table.Rows)
72 {
73 list.Add(new OnLine()
74 {
75 Id = Convert.ToInt64(row["Id"]),
76 Ip = row["Ip"].ToString(),
77 PingState = row["PingState"].ToString(),
78 PingTime = row["PingTime"].ToString(),
79 PortState = row["PortState"].ToString(),
80 PortTime = row["PortTime"].ToString(),
81 Indexes = row["Indexes"].ToString(),
82 Starts = row["Starts"].ToString(),
83 TheEnd = row["TheEnd"].ToString(),
84 Sum = row["Sum"].ToString()
85 });
86 }
87 return list;
88 }
89 }
90 }