public static bool AddBattery(receivedata data) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into testjdbc.battery("); strSql.Append("deveui,msgtype,seqnum,rcvtime)"); strSql.Append(" values ("); strSql.Append("@devEUI,@MsgType,@seqnum,@Rcvtime)"); strSql.Append(";select @@IDENTITY"); MySqlParameter[] parameters = { new MySqlParameter("@devEUI", MySqlDbType.VarChar, 4), new MySqlParameter("@MsgType", MySqlDbType.VarChar, 4), new MySqlParameter("@seqnum", MySqlDbType.Int32, 4), new MySqlParameter("@Rcvtime", MySqlDbType.DateTime, 0) }; parameters[0].Value = data.devEUI; parameters[1].Value = data.MsgType; parameters[2].Value = data.seqnum; parameters[3].Value = data.Rcvtime; int rows = ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 解析 /// </summary> /// <returns></returns> public static AnalysisAndUpload Parse(byte[] bs, String devEUI) { AnalysisAndUpload ret = new AnalysisAndUpload(); receivedata rcvdata = new receivedata(); string dt = DateTime.Now.ToString(); try { //byte[] bt = FormatBigFlotBytes(bs, 0); string MsgTypeandSeqnum = BitConverter.ToString(bs, 0); string MsgType = MsgTypeandSeqnum.Substring(0, 1); string Seqnum = MsgTypeandSeqnum.Substring(1, 1); if (MsgType == Convert.ToString(0)) {//蓝牙beacon扫描数据 mySqlConnection = new MySqlConnection(connectionString); try { //Open DataBase //打开数据库 //int SeqNum; string beaconmsg; mySqlConnection.Open(); beaconmsg = MsgTypeandSeqnum.Substring(3, 71); //byte[] bh = FormatBigFlotBytes(bs, 4); //SeqNum = BitConverter.ToInt32(bh, 0); //byte[] bm = FormatBigFlotBytes1(bs, 8); //beaconmsg = BitConverter.ToString(bm, 0); rcvdata.devEUI = devEUI; rcvdata.MsgType = MsgType; rcvdata.BeaconNum = Convert.ToInt32(Seqnum); rcvdata.BeaconMsg = beaconmsg; rcvdata.Rcvtime = dt; bool update = AddBluetooth(rcvdata); ret.Ret = update; ret.beacon = "蓝牙beacon数据"; } catch (Exception ex) { //Can not Open DataBase //打开不成功 则连接不成功 ret.Ret = false; ret.beacon = "蓝牙beacon数据"; } finally { //Close DataBase //关闭数据库连接 mySqlConnection.Close(); } } else if (MsgType == Convert.ToString(1)) {//sos数据 mySqlConnection = new MySqlConnection(connectionString); try { //Open DataBase //打开数据库 //int SeqNum; //string beaconmsg; mySqlConnection.Open(); //byte[] bh = FormatBigFlotBytes(bs, 4); //SeqNum = BitConverter.ToInt32(bh, 0); rcvdata.devEUI = devEUI; rcvdata.MsgType = MsgType; rcvdata.seqnum = Convert.ToInt32(Seqnum); rcvdata.Rcvtime = dt; bool update = AddSos(rcvdata); ret.Ret = update; ret.sos = "sos数据"; } catch (Exception ex) { //Can not Open DataBase //打开不成功 则连接不成功 ret.Ret = false; ret.sos = "sos数据"; } finally { //Close DataBase //关闭数据库连接 mySqlConnection.Close(); } } else if (MsgType == Convert.ToString(2)) {//终端低电量数据 mySqlConnection = new MySqlConnection(connectionString); try { //Open DataBase //打开数据库 //int SeqNum; //string beaconmsg; mySqlConnection.Open(); //byte[] bh = FormatBigFlotBytes(bs, 4); //SeqNum = BitConverter.ToInt32(bh, 0); rcvdata.devEUI = devEUI; rcvdata.MsgType = MsgType; rcvdata.seqnum = Convert.ToInt32(Seqnum); rcvdata.Rcvtime = dt; bool update = AddBattery(rcvdata); ret.Ret = update; ret.battery = "终端低电量数据"; } catch (Exception ex) { //Can not Open DataBase //打开不成功 则连接不成功 //mqttdata ret = new mqttdata(); ret.Ret = false; ret.battery = "终端低电量数据"; } finally { //Close DataBase //关闭数据库连接 mySqlConnection.Close(); } } //else if (MsgType == Convert.ToString(3)) //{//GNSS数据 // mySqlConnection = new MySqlConnection(connectionString); // try // { // //Open DataBase // //打开数据库 // mySqlConnection.Open(); // } // catch (Exception ex) // { // //Can not Open DataBase // //打开不成功 则连接不成功 // } // finally // { // //Close DataBase // //关闭数据库连接 // mySqlConnection.Close(); // } //} } catch { //mqttdata ret = new mqttdata(); ret.Ret = false; } return(ret); }