コード例 #1
0
ファイル: QEnvironments.cs プロジェクト: jathana/QAssistant
        public QDatabases GetDatabases(QEnvironmentType envType)
        {
            QDatabases result = new QDatabases();

            foreach (QSQLServer srv in this[envType].SqlServers)
            {
                foreach (QDatabase db in srv.Databases)
                {
                    result.Add(db);
                }
            }
            return(result);
        }
コード例 #2
0
        public DataTable MergeTable(QDatabases databases, string tableName)
        {
            DataTable result = new DataTable();
            // add columns
            DataColumn col = new DataColumn();

            col.ColumnName = "ORDINAL_POSITION";
            col.DataType   = typeof(string);
            col.Unique     = true;
            result.Columns.Add(col);
            foreach (QDatabase db in databases)
            {
                result.Columns.Add(new DataColumn(string.Format("{0}.{1}", db.FullName.Name, tableName), typeof(string)));
            }
            // add data
            foreach (QDatabase db in databases)
            {
                QDBTableSchema schema = new QDBTableSchema();
                schema.Load(db, tableName);
                foreach (DataRow row in schema.Columns.Rows)
                {
                    DataRow[] crow = result.Select("ORDINAL_POSITION='" + row["ORDINAL_POSITION"].ToString() + "'");
                    if (crow.Length == 1)
                    {
                        crow[0][string.Format("{0}.{1}", db.FullName.Name, tableName)] = row["COLUMN_NAME"].ToString();
                    }
                    else if (crow.Length == 0)
                    {
                        DataRow newRow = result.NewRow();
                        newRow["ORDINAL_POSITION"] = row["ORDINAL_POSITION"];
                        newRow[string.Format("{0}.{1}", db.FullName.Name, tableName)] = row["COLUMN_NAME"];
                        result.Rows.Add(newRow);
                    }
                }
            }


            return(result);
        }
コード例 #3
0
ファイル: QSQLServer.cs プロジェクト: jathana/QAssistant
 public QSQLServer()
 {
     Databases = new QDatabases();
 }