GOOGLE ADS

суббота, 7 мая 2022 г.

Как вставить значения SQL в команду SQL для создания таблицы? [закрыто]







Закрыто. Этот вопрос нуждается в деталях или ясности. В настоящее время ответы не принимаются.


Решение проблемы

Для этого вам нужно использовать динамический SQL.

  • Будьте осторожны: вы должны правильно экранировать имя таблицы, используяQUOTENAME

  • Я бы посоветовал вам не ловить вслепую все исключения. Позвольте им пройти к вызывающей функции, которая может решить, как отобразить или зарегистрировать ошибку.

  • Параметр должен бытьnvarchar(128)

  • Обратите внимание на использование дословной многострочной строки с использованием@""

  • public void CreateTable(string tableName)
    {
    const string query = @"
    DECLARE @sql nvarchar(max) = '
    CREATE TABLE ' + QUOTENAME(@tableName) + '(
    indicatorid INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    value REAL,
    date DATE,
    ticker VARCHAR(20)
    )
    ';
    EXEC sp_executesql @sql;
    ";
    using (SqlConnection conn = new SqlConnection(this.connectionstring))
    using (SqlCommand cmd = new SqlCommand(query, conn)
    {
    cmd.Parameters.Add("@tableName", SqlDbType.NVarChar, 128).Value = tableName;
    conn.Open();
    cmd.ExecuteNonQuery();
    }
    }

    Комментариев нет:

    Отправить комментарий

    Laravel Datatable addColumn returns ID of one record only

    Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...