示例#1
0
        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);
        }
示例#3
0
        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);
            }
        }