private List <KedaVideo> ExecuteQuerySQL(String msqlSql, String pgSql) { List <KedaVideo> result = new List <KedaVideo>(); if (!String.IsNullOrEmpty(this.remoteConnectString) && !m_useLocal) { int mRescle = m_tryNum; while (mRescle > 0) { if (ExecuteRemoteQuerySQL(msqlSql, ref result)) { return(result); } else { --mRescle; } } m_useLocal = false; } try { //使用本地数据库 using (DbConnection conn = new NpgsqlConnection(this.localConnectString)) { conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = pgSql; using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { KedaVideo video = new KedaVideo(); if (!reader.IsDBNull(0)) { video.gbid = reader[0].ToString(); } if (!reader.IsDBNull(1)) { video.kdid = reader[1].ToString(); } if (!reader.IsDBNull(2)) { video.kddomainid = reader[2].ToString(); } if (!reader.IsDBNull(3)) { video.name = reader[3].ToString(); } if (!reader.IsDBNull(4)) { double longitude; if (Double.TryParse(reader[4].ToString(), out longitude)) { video.longitude = longitude; } } if (!reader.IsDBNull(5)) { double latitude; if (Double.TryParse(reader[5].ToString(), out latitude)) { video.latitude = latitude; } } if (!reader.IsDBNull(6)) { video.channel = reader[6].ToString(); } result.Add(video); } } } } return(result); } catch (Exception ex) { LogMgr.Instance.Error(String.Format("执行本地SQL查询出错: {0}", pgSql), ex); throw ex; } }
/// <summary> /// 获取4G图传车视频播放参数 /// </summary> /// <param name="CarPlateNum">车牌号</param> /// <returns></returns> public List <KedaVideo> Get4GVideoOfPoliceCar(String CarPlateNum) { List <KedaVideo> model = new List <KedaVideo>(); List <String> gpsid = new List <string>(); try { String sql = "select GPSID1,GPSID2,GPSID3,GPSID4,GPSID5 from PGIS_DWXX.T_GPS_INFO_DZSP where LOCTYPE=8 and CARNO='" + CarPlateNum + "'"; using (OleDbConnection conn = new OleDbConnection(policeCarDBConnectBuilder.ConnectionString)) { conn.Open(); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { gpsid.Add(reader[0].ToString()); gpsid.Add(reader[1].ToString()); gpsid.Add(reader[2].ToString()); gpsid.Add(reader[3].ToString()); gpsid.Add(reader[4].ToString()); } } } catch (Exception ex) { LogMgr.Instance.Error("日志记录", ex); } try { String mysql = string.Format("select gbid, kdid, kddomainid, name, longitude, latitude, channel from tblGbDevice where gbid='{0}' OR gbid='{1}' OR gbid='{2}' OR gbid='{3}' OR gbid='{4}'", gpsid[0], gpsid[1], gpsid[2], gpsid[3], gpsid[4]); using (DbConnection conn = new MySqlConnection(this.remoteConnectString)) { conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = mysql; using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { KedaVideo video = new KedaVideo(); if (!reader.IsDBNull(0)) { video.gbid = reader[0].ToString(); } if (!reader.IsDBNull(1)) { video.kdid = reader[1].ToString(); } if (!reader.IsDBNull(2)) { video.kddomainid = reader[2].ToString(); } if (!reader.IsDBNull(3)) { video.name = reader[3].ToString(); } if (!reader.IsDBNull(4)) { double longitude; if (Double.TryParse(reader[4].ToString(), out longitude)) { video.longitude = longitude; } } if (!reader.IsDBNull(5)) { double latitude; if (Double.TryParse(reader[5].ToString(), out latitude)) { video.latitude = latitude; } } if (!reader.IsDBNull(6)) { video.channel = reader[6].ToString(); } model.Add(video); } } } } } catch (Exception ex) { LogMgr.Instance.Error("日志记录", ex); } return(model); }
private bool ExecuteRemoteQuerySQL(String msqlSql, ref List <KedaVideo> result) { try { using (DbConnection conn = new MySqlConnection(this.remoteConnectString)) { conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = msqlSql; using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { KedaVideo video = new KedaVideo(); if (!reader.IsDBNull(0)) { video.gbid = reader[0].ToString(); } if (!reader.IsDBNull(1)) { video.kdid = reader[1].ToString(); } if (!reader.IsDBNull(2)) { video.kddomainid = reader[2].ToString(); } if (!reader.IsDBNull(3)) { video.name = reader[3].ToString(); } if (!reader.IsDBNull(4)) { double longitude; if (Double.TryParse(reader[4].ToString(), out longitude)) { video.longitude = longitude; } } if (!reader.IsDBNull(5)) { double latitude; if (Double.TryParse(reader[5].ToString(), out latitude)) { video.latitude = latitude; } } if (!reader.IsDBNull(6)) { video.channel = reader[6].ToString(); } result.Add(video); } } } } return(true); } catch (Exception ex) { LogMgr.Instance.Error(String.Format("执行远程SQL查询出错: {0}", msqlSql), ex); return(false); } }