async public Task <object[]> ValuesAsync() { if (String.IsNullOrEmpty(_connString)) { return(null); } try { using (CommonDbConnection connection = new CommonDbConnection()) { connection.ConnectionString2 = _connString; DataSet ds = new DataSet(); if (!await connection.SQLQuery(ds, _sql, "QUERY")) { return(null); } DataTable tab = ds.Tables["QUERY"]; object[] values = new object[tab.Rows.Count]; int i = 0; foreach (DataRow row in tab.Rows) { values[i++] = row[0]; } return(values); } } catch { return(null); } }
public Fields FilterFields(FieldType fType) { try { DbConnectionString dbConnStr = this.JoinDbConnectionString; if (dbConnStr == null) { return(null); } dbConnStr.UseProviderInConnectionString = true; DataProvider provider = new DataProvider(); provider.Open(dbConnStr.ConnectionString); string tablename = provider.ToTableName(this.JoinTableName); provider.Close(); CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = dbConnStr.ConnectionString; if (!conn.GetSchema(tablename)) { { MessageBox.Show(conn.errorMessage, "Error"); return(null); } } Fields fields = new Fields(conn.schemaTable); Fields f = new Fields(); foreach (IField field in fields.ToEnumerable()) { if (field.type == fType || fType == FieldType.unknown) { f.Add(field); } } return(f); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); return(null); } }
public string[] TableNames() { try { DbConnectionString dbConnStr = this.DbConnectionString; if (dbConnStr == null) { return(null); } CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = dbConnStr.ConnectionString; return(conn.TableNames()); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); return(null); } }
async static public Task <IFeatureClass> Create(Dataset dataset, EventTableConnection etconn) { var fc = new FeatureClass(dataset, etconn); if (fc._etcon != null) { CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = fc._etcon.DbConnectionString.ConnectionString; if (conn.GetSchema(fc._etcon.TableName)) { fc._fields = new Fields(conn.schemaTable); IField idfield = fc._fields.FindField(fc._etcon.IdFieldName); if (idfield is Field) { ((Field)idfield).type = FieldType.ID; } } DataTable tab = await conn.Select("MIN(" + fc._etcon.XFieldName + ") as minx,MAX(" + fc._etcon.XFieldName + ") as maxx,MIN(" + fc._etcon.YFieldName + ") as miny,MAX(" + fc._etcon.YFieldName + ") as maxy", fc._etcon.TableName); if (tab != null && tab.Rows.Count == 1) { try { fc._env = new Envelope( Convert.ToDouble(tab.Rows[0]["minx"]), Convert.ToDouble(tab.Rows[0]["miny"]), Convert.ToDouble(tab.Rows[0]["maxx"]), Convert.ToDouble(tab.Rows[0]["maxy"])); } catch { fc._env = new Envelope(); } } } return(fc); }
public string[] TableNames() { try { DbConnectionString dbConnStr = this.JoinDbConnectionString; if (dbConnStr == null) { return(null); } CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = dbConnStr.ConnectionString; List <string> tables = new List <string>(conn.TableNames()); tables.Sort(); return(tables.ToArray()); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); return(null); } }
public Fields FilterFields(FieldType fType) { try { DbConnectionString dbConnStr = this.DbConnectionString; if (dbConnStr == null) { return(null); } CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = dbConnStr.ConnectionString; if (!conn.GetSchema(this.TableName)) { MessageBox.Show(conn.errorMessage, "Error"); return(null); } Fields fields = new Fields(conn.schemaTable); Fields f = new Fields(); foreach (IField field in fields.ToEnumerable()) { if (field.type == fType) { f.Add(field); } } return(f); } catch (Exception ex) { MessageBox.Show(ex.Message, "Exception"); return(null); } }
public FeatureClass(Dataset dataset, EventTableConnection etconn) { _etcon = etconn; _dataset = dataset; if (_etcon != null) { CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = _etcon.DbConnectionString.ConnectionString; if (conn.GetSchema(_etcon.TableName)) { _fields = new Fields(conn.schemaTable); IField idfield = _fields.FindField(_etcon.IdFieldName); if (idfield is Field) { ((Field)idfield).type = FieldType.ID; } } DataTable tab = conn.Select("MIN(" + _etcon.XFieldName + ") as minx,MAX(" + _etcon.XFieldName + ") as maxx,MIN(" + _etcon.YFieldName + ") as miny,MAX(" + _etcon.YFieldName + ") as maxy", _etcon.TableName); if (tab != null && tab.Rows.Count == 1) { try { _env = new Envelope( Convert.ToDouble(tab.Rows[0]["minx"]), Convert.ToDouble(tab.Rows[0]["miny"]), Convert.ToDouble(tab.Rows[0]["maxx"]), Convert.ToDouble(tab.Rows[0]["maxy"])); } catch { _env = new Envelope(); } } } }
public FeatureCursor(EventTableConnection etconn, IQueryFilter filter) : base( (etconn != null ? etconn.SpatialReference : null), (filter != null ? filter.FeatureSpatialReference : null)) { _etcon = etconn; if (etconn != null) { CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = etconn.DbConnectionString.ConnectionString; string appendWhere = String.Empty; if (filter is ISpatialFilter && ((ISpatialFilter)filter).Geometry != null) { if (!(((ISpatialFilter)filter).Geometry is Envelope)) { _addShape = true; filter.AddField("#SHAPE#"); _spatialFilter = (ISpatialFilter)filter; } IEnvelope env = ((ISpatialFilter)filter).Geometry.Envelope; appendWhere = etconn.XFieldName + ">=" + env.minx.ToString(_nhi) + " AND " + etconn.XFieldName + "<=" + env.maxx.ToString(_nhi) + " AND " + etconn.YFieldName + ">=" + env.miny.ToString(_nhi) + " AND " + etconn.YFieldName + "<=" + env.maxy.ToString(_nhi); } if (filter is IRowIDFilter) { IRowIDFilter idFilter = (IRowIDFilter)filter; appendWhere = idFilter.RowIDWhereClause; } string where = (filter != null) ? filter.WhereClause : String.Empty; if (!String.IsNullOrEmpty(where)) { where += (String.IsNullOrEmpty(appendWhere) ? String.Empty : " AND (" + appendWhere + ")"); } else { where = appendWhere; } StringBuilder sb = new StringBuilder(); sb.Append(filter.SubFieldsAndAlias); foreach (string fieldname in filter.SubFields.Split(' ')) { if (fieldname == "#SHAPE#") { if (sb.Length > 0) { sb.Append(","); } sb.Append(_etcon.XFieldName + "," + _etcon.YFieldName); _addShape = true; } if (fieldname == "*") { _addShape = true; } } string fields = sb.ToString().Replace(",#SHAPE#", "").Replace("#SHAPE#,", "").Replace("#SHAPE#", ""); //_tab = conn.Select(sb.ToString(), etconn.TableName, where); //_addShape = _tab.Columns.Contains(_etcon.XFieldName) && // _tab.Columns.Contains(_etcon.YFieldName); _dbReader = conn.DataReader("select " + fields + " from " + etconn.TableName + (String.IsNullOrEmpty(where) ? String.Empty : " WHERE " + where), out _dbConnection); } }
async static public Task <FeatureCursor> Create(EventTableConnection etconn, IQueryFilter filter, IFeatureClass fc) { var cursor = new FeatureCursor(etconn, filter); cursor._etcon = etconn; if (etconn != null) { CommonDbConnection conn = new CommonDbConnection(); conn.ConnectionString2 = etconn.DbConnectionString.ConnectionString; string appendWhere = String.Empty; if (filter is ISpatialFilter && ((ISpatialFilter)filter).Geometry != null) { if (!(((ISpatialFilter)filter).Geometry is Envelope)) { cursor._addShape = true; filter.AddField("#SHAPE#"); cursor._spatialFilter = (ISpatialFilter)filter; } IEnvelope env = ((ISpatialFilter)filter).Geometry.Envelope; appendWhere = etconn.XFieldName + ">=" + env.minx.ToString(_nhi) + " AND " + etconn.XFieldName + "<=" + env.maxx.ToString(_nhi) + " AND " + etconn.YFieldName + ">=" + env.miny.ToString(_nhi) + " AND " + etconn.YFieldName + "<=" + env.maxy.ToString(_nhi); } if (filter is IRowIDFilter) { IRowIDFilter idFilter = (IRowIDFilter)filter; appendWhere = idFilter.RowIDWhereClause; } string where = (filter != null) ? filter.WhereClause : String.Empty; if (!String.IsNullOrEmpty(where)) { where += (String.IsNullOrEmpty(appendWhere) ? String.Empty : " AND (" + appendWhere + ")"); } else { where = appendWhere; } StringBuilder sb = new StringBuilder(); sb.Append(filter.SubFieldsAndAlias); foreach (string fieldname in filter.SubFields.Split(' ')) { if (fieldname == "#SHAPE#") { if (sb.Length > 0) { sb.Append(","); } sb.Append(cursor._etcon.XFieldName + "," + cursor._etcon.YFieldName); cursor._addShape = true; } if (fieldname == "*") { cursor._addShape = true; } } string fields = sb.ToString().Replace(",#SHAPE#", "").Replace("#SHAPE#,", "").Replace("#SHAPE#", ""); //_tab = conn.Select(sb.ToString(), etconn.TableName, where); //_addShape = _tab.Columns.Contains(_etcon.XFieldName) && // _tab.Columns.Contains(_etcon.YFieldName); var limits = conn.LimitResults(filter, fc); var dataReaderResult = await conn.DataReaderAsync("select " + limits.top + fields + " from " + etconn.TableName + (String.IsNullOrEmpty(where) ? String.Empty : " WHERE " + where) + limits.limit); cursor._dbReader = dataReaderResult.reader; cursor._dbConnection = dataReaderResult.connection; } return(cursor); }
static void Main(string[] args) { var connection = new CommonDbConnection(); Console.ReadLine(); }