Задать вопрос
rundll32
@rundll32

Sql CreateTable выполняется бесконечно?

Создал локальную БД через Контекстное меню - Добавить - БД основанная на службах,
Написал маленький класс, куда скопировал строку подключения из объекта:
public static class Database
    {
        public static SqlConnection Connection { set; get; }

        public static void CreateConnection()
        {
            var connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Data\MyDb.mdf;Integrated Security=True";
            Connection = new SqlConnection(connectionString);
        }
}


Далее начинается самое интересное, мне нужно создать таблицу с определенными полями, в итоге пришел к такому коду:
public static void CreateTable(string fileName, string[] fields)
        {
            var tableFields = string.Join(Environment.NewLine, fields.Select(x => $"[{x}] NVARCHAR(250) NULL,"));
            var sql = $@"CREATE TABLE [dbo].[{fileName}] (
    [Id]  INT IDENTITY (1, 1) NOT NULL,
    {tableFields}
    PRIMARY KEY CLUSTERED ([Id] ASC)
);";

            Connection.Open();
            var com = new SqlCommand(sql, Connection);
            int result = com.ExecuteNonQuery();
            Connection.Close();
        }


Но не происходит ничего, я уже пробовал и DataTable, и кучу кода из StackOverflow, но у меня даже исключений нет, просто дальше com.ExecuteNonQuery ничего не происходит.
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Sergey_VR
Инженер IT
Проверьте в студии - таблица создалась или нет?
Если нет, то получите в отладчике скрипт и запустите в студии. Может возникает ошибка при создании...
А перед созданием таблицы вообще-то надо проверять её существование...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы