Member 14169626 Ответов: 2

Как искать базу данных в базе данных на языке C#?


Я хочу найти, есть ли у меня база данных людей в моей базе данных. Как я могу это сделать?
Я хотел бы добавить персону в таблицу personinformation в базе данных person, если таковая имеется.

Что я уже пробовал:

Имя Базы Данных:Персона
Таблица Базы Данных:PersonInformation


//I WANT TO SEARCH DBNAME CODE İN C#.How to write this search dbname code.

if( dbname !=null)
{
  dbname.Add();
}

else
{
MessageBox.Show("Db not found");
}

2 Ответов

Рейтинг:
1

MadMyche

Самый простой запрос, который вы можете выполнить для проверки SQL Server на наличие конкретной базы данных, - это запрос МастерDB для подсчета баз данных, соответствующих этому имени

SELECT Count(*) FROM [Master].Sys.Databases WHERE [Name] = 'Person'
Если это возвращает значение 1, то вы можете запросить его ЧеловекБД для таблиц соответствующих той которая вам нужна
SELECT Count(*) FROM Person.Information_Schema.Tables WHERE [Table_Name] = 'PersonInformation'


Maciej Los

5ed!

Рейтинг:
1

Maciej Los

Для EF проверьте это:

public static class DbContextExtensions
    {
        public static IEnumerable<string> GetTableNames(this DbContext @this)
        {
            var tableNames = new List<string>();

            using (var connection = @this.Database.GetDbConnection())
            {
                connection.Open();
                using (var command = connection.CreateCommand())
                {
                    command.CommandText = "SELECT Distinct TABLE_NAME FROM information_schema.TABLES";
                    using (var reader = command.ExecuteReader())
                    {
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                tableNames.Add(reader.GetString(0));
                            }
                        }
                        reader.Close();
                    }
                }
                connection.Close();
            }
            return tableNames;
        }
    }

Источник: Как получить все имена таблиц БД с помощью EF[^]