コード例 #1
0
 private void RaiseDatabaseFoundEventHander(DATA data)
 {
     if (DatabaseFound != null) DatabaseFound(this, data);
 }
コード例 #2
0
        public DataTable GetAllDatabase(string server, string user, string password, bool auth)
        {
            string connectionString = String.Format("data source={0};integrated security=SSPI;Initial Catalog=master;", server);
            if (!auth)
                connectionString = String.Format("server={0};user id={1};password={2};", server, user, password);

            Cursor.Current = Cursors.WaitCursor;
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("Database");
            SqlConnection cnn = Connection(connectionString);
            try
            {
                if (cnn.State != ConnectionState.Open) return dataTable;
                ServerConnection srvConn = new ServerConnection(cnn);
                Server srvSql = new Server(srvConn);

                foreach (Database dbServer in srvSql.Databases)
                {
                    if (dbServer.IsSystemObject) continue;
                    dataTable.Rows.Add(new object[] { dbServer.Name });
                    DATA item = new DATA(dbServer.Name, dbServer.Version.ToString(), dbServer.CreateDate, dbServer.PrimaryFilePath);
                    RaiseDatabaseFoundEventHander(item);

                }

            }
            catch (Exception ex)
            {
                RaiseDatabaseErrorEventHander(ex.Message);
            }
            finally
            {
                cnn.Close();
            }

            RaiseDatabaseCompleteEventHander(dataTable);
            return dataTable;
        }