예제 #1
0
 public DbReaderExSource(DbReaderEx reader)
 {
     if (reader == null)
     {
         throw new ArgumentNullException("reader");
     }
     _reader = reader;
     _source = new DataSetSource(_reader.ToDataSet());
 }
예제 #2
0
        public int GetTableIndex(string tableName)
        {
            int index = _source.GetTableIndex(tableName);

            if (index < 0)
            {
                string[] parts = tableName.Split(NAME_QUERY_SEPARATOR, 2, StringSplitOptions.None);
                string   name, query;
                if (parts.Length > 1)
                {
                    name  = parts[0];
                    query = parts[1];
                }
                else
                {
                    name  = tableName;
                    query = tableName;
                }
                _reader.AddQuery(name, query);
                _source = new DataSetSource(_reader.ToDataSet());
                index   = _source.GetTableIndex(name);
            }
            return(index);
        }