Esempio n. 1
0
        private List <Table> GetDB2Tables(string connectionString)
        {
            List <Table> _tables = new List <Table>();

            try
            {
                DataTable     dt     = generatorDL.GetDB2Tables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "tbname");
                Table         _table;
                DataRow[]     rows;
                List <Column> cols;
                foreach (string tbl in tables)
                {
                    _table = new Table()
                    {
                        TableName = tbl
                    };
                    cols = new List <Column>();
                    rows = dt.Select(string.Format("tbname='{0}'", tbl));
                    foreach (DataRow row in rows)
                    {
                        cols.Add(new Column(string.Format("{0}", row["name"]), string.Format("{0}", row["coltype"])));
                    }
                    _table.TableColumns = cols;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(_tables);
        }
        private List <Table> GetOracleTablesM(string connectionString)
        {
            List <Table> _tables = new List <Table>();

            try
            {
                DataTable     dt     = generatorDL.GetOracleTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "TABLE_NAME");
                Table         _table;
                DataRow[]     rows;
                List <Column> cols;
                Column        col;
                foreach (string tbl in tables)
                {
                    _table = new Table()
                    {
                        TableName = tbl
                    };
                    cols = new List <Column>();
                    rows = dt.Select(string.Format("TABLE_NAME='{0}'", tbl));
                    foreach (DataRow row in rows)
                    {
                        col = new Column
                        {
                            ColumnName = string.Format("{0}", row["COLUMN_NAME"]),
                            DataType   = string.Format("{0}", row["DATA_TYPE"]),
                            IsRequired = string.Format("{0}", row["NULLABLE"]).Trim() == "N" ? 1 : 0
                        };

                        cols.Add(col);
                    }
                    _table.TableColumns = cols;

                    /*
                     * rows = null;
                     * rows = dt.Select(string.Format("table_name='{0}' AND coltype IN(6, 18, 53)", tbl));
                     *
                     * foreach (DataRow row in rows)
                     * {
                     *  _table.IdColumn = string.Format("{0}", row["colname"]);
                     *  break;
                     * }
                     *
                     */
                    _tables.Add(_table);
                    rows = null;
                }
            }
            catch (Exception e)
            {
                throw;
            }
            return(_tables);
        }
        private List <Table> GetSqlServerTables(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataTable dt = new DataTable();
                dt = generatorDL.GetSqlServerTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "TABLE_NAME");
                DataRow[]     rows;
                List <Column> columns;
                Table         tbl;

                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns = new List <Column>();
                    rows    = dt.Select(string.Format("TABLE_NAME='{0}'", strTable));
                    foreach (DataRow rw in rows)
                    {
                        //columns.Add(new Column(rw["COLUMN_NAME"].ToString(), rw["DATA_TYPE"].ToString()));
                        Column cl = rw.RowToObject <Column>(dt.Columns);
                        columns.Add(cl);
                        if (cl.IdentityState == 1 && string.IsNullOrWhiteSpace(tbl.IdColumn))
                        {
                            tbl.IdColumn = cl.ColumnName;
                        }
                    }

                    tbl.TableColumns = columns;

                    /*
                     * rows = null;
                     * rows = dt.Select(string.Format("TABLE_NAME='{0}' AND IdentityState=1", strTable));
                     *
                     * foreach (DataRow rw2 in rows)
                     * {
                     *  tbl.IdColumn = rw2["COLUMN_NAME"].ToString();
                     *  break;
                     * }
                     */
                    tableList.Add(tbl);
                }
            }
            catch (Exception e)
            {
                throw;
            }

            return(tableList);
        }
        private List <Table> GetOdbcTable(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataSet   ds = new DataSet();
                DataTable dt = new DataTable();
                ds = generatorDL.GetOdbcTable(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(ds.Tables[0], "TABLE_NAME");
                DataRow[]     rows;
                List <Column> columns;
                Table         tbl;
                dt = ds.Tables[1];
                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns = new List <Column>();
                    rows    = dt.Select(string.Format("TABLE_NAME='{0}'", strTable));
                    foreach (DataRow rw in rows)
                    {
                        columns.Add(new Column
                        {
                            ColumnName = rw["COLUMN_NAME"].ToString(),
                            DataType   = rw["TYPE_NAME"].ToString()
                        });
                    }

                    tbl.TableColumns = columns;

                    /*
                     * Identity Column bulunacak.
                     */
                    rows = null;
                    rows = dt.Select(string.Format("TABLE_NAME='{0}' AND TYPE_NAME='int identity'", strTable));

                    foreach (DataRow rw2 in rows)
                    {
                        tbl.IdColumn = rw2["COLUMN_NAME"].ToString();
                    }
                    tableList.Add(tbl);
                }
            }
            catch (Exception e)
            {
                throw;
            }
            return(tableList);
        }
        private List <Table> GetPostgreSQLTables(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataTable dt = new DataTable();
                dt = generatorDL.GetPostgreSQL(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "table_name");
                DataRow[]     rows;
                List <Column> columns;
                Table         tbl;
                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns = new List <Column>();
                    rows    = dt.Select(string.Format("table_name='{0}'", strTable));
                    foreach (DataRow rw in rows)
                    {
                        columns.Add(new Column {
                            ColumnName = rw["column_name"].ToString(), DataType = rw["udt_name"].ToString()
                        });
                    }

                    tbl.TableColumns = columns;

                    /*
                     * Identity Column bulunacak.
                     */
                    rows = null;
                    rows = dt.Select(string.Format("table_name='{0}' AND udt_name LIKE '%int%' AND column_default LIKE '%nextval%'", strTable));

                    foreach (DataRow rw2 in rows)
                    {
                        tbl.IdColumn = rw2["column_name"].ToString();
                        break;
                    }
                    tableList.Add(tbl);
                }
            }
            catch (Exception e)
            {
                throw;
            }
            return(tableList);
        }
Esempio n. 6
0
        private List <Table> GetFireBirdTables(string connectionString)
        {
            List <Table> _tables = new List <Table>();

            try
            {
                DataTable     dt     = generatorDL.GetFireBirdTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "Table_Name");
                Table         _table;
                DataRow[]     rows;
                List <Column> cols;
                foreach (string tbl in tables)
                {
                    _table = new Table()
                    {
                        TableName = tbl
                    };
                    cols = new List <Column>();
                    rows = dt.Select(string.Format("Table_Name='{0}'", tbl));
                    foreach (DataRow row in rows)
                    {
                        cols.Add(new Column(string.Format("{0}", row["Column_Name"]),
                                            FireBirdUtil.GetIntFrom(ConvertUtil.ToInt(string.Format("{0}", row["coltype"])))));
                    }
                    _table.TableColumns = cols;

                    /*
                     * rows = null;
                     * rows = dt.Select(string.Format("table_name='{0}' AND coltype IN(6, 18, 53)", tbl));
                     *
                     * foreach (DataRow row in rows)
                     * {
                     *  _table.IdColumn = string.Format("{0}", row["colname"]);
                     *  break;
                     * }
                     *
                     * _tables.Add(_table);
                     * rows = null;
                     */
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(_tables);
        }
Esempio n. 7
0
        private List <Table> GetVistaDBTables(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataTable dt = new DataTable();
                dt = generatorDL.GetVistaDBTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "table_name");
                DataRow[]     rows;
                List <Column> columns;
                Table         tbl;
                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns = new List <Column>();
                    rows    = dt.Select(string.Format("table_name='{0}'", strTable));
                    foreach (DataRow rw in rows)
                    {
                        columns.Add(new Column(rw["column_name"].ToString(), rw["data_type"].ToString()));
                    }

                    tbl.TableColumns = columns;

                    /*
                     * Identity Column bulunacak.
                     */
                    rows = null;
                    rows = dt.Select(string.Format("table_name='{0}' AND is_identity=true", strTable));

                    foreach (DataRow rw2 in rows)
                    {
                        tbl.IdColumn = rw2["column_name"].ToString();
                        break;
                    }
                    tableList.Add(tbl);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(tableList);
        }
Esempio n. 8
0
        private List <Table> GetMySQLAndMariaDbTables(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataTable dt = new DataTable();
                dt = generatorDL.GetMySQLAndMariaDbTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "TABLE_NAME");
                DataRow[]     rows;
                List <Column> columns;
                Table         tbl;
                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns = new List <Column>();
                    rows    = dt.Select(string.Format("TABLE_NAME='{0}'", strTable));
                    foreach (DataRow rw in rows)
                    {
                        columns.Add(new Column(rw["COLUMN_NAME"].ToString(), rw["DATA_TYPE"].ToString()));
                    }

                    tbl.TableColumns = columns;

                    rows = null;
                    rows = dt.Select(string.Format("TABLE_NAME='{0}' AND EXTRA='auto_increment'", strTable));

                    foreach (DataRow rw2 in rows)
                    {
                        tbl.IdColumn = rw2["COLUMN_NAME"].ToString();
                        break;
                    }

                    tableList.Add(tbl);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(tableList);
        }
Esempio n. 9
0
        private List <Table> GetSqliteTables(string connectionString)
        {
            List <Table> tableList = new List <Table>();

            try
            {
                DataTable     dt     = generatorDL.GetSqliteTables(connectionString);
                List <string> tables = DbDataUtil.GetColumnAsUniqueList(dt, "tbl_name");
                List <Column> columns;
                Table         tbl;
                DataTable     dtColumns;
                foreach (string strTable in tables)
                {
                    tbl = new Table()
                    {
                        TableName = strTable
                    };
                    columns   = new List <Column>();
                    dtColumns = generatorDL.GetSqliteColumns(connectionString, strTable);

                    foreach (DataRow row in dtColumns.Rows)
                    {
                        columns.Add(new Column(row["name"].ToString(), row["type"].ToString()));
                        if (ConvertUtil.ToInt(string.Format("{0}", row["pk"])) == 1)
                        {
                            tbl.IdColumn = row["name"].ToString();
                        }
                    }
                    tbl.TableColumns = columns;
                    tableList.Add(tbl);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(tableList);
        }