@beduin01

Почему не работает следующий Prepared запрос?

Почему-то не работает подстановка в следующий sql запрос:

foreach (var table in existsInDBTables)
            {
                Console.WriteLine("------>{0}", table);
                Console.ReadKey();                
                SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=" + config.SQLLitePath + ";Version=3;");
                m_dbConnection.Open();

                SQLiteCommand command = new SQLiteCommand(m_dbConnection);
                command.CommandText = "SELECT 1 FROM @table LIMIT1";
                command.Parameters.AddWithValue("@table", table);
                command.Prepare();

Пробовал так же делать:
command.Parameters.AddWithValue("@table", "bar");

На выходе упорно получаю:
near "@table": syntax error
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
k1lex
@k1lex
Программист торг. сети. C# (WPF, WinForms), T-SQL
Вы пытаетесь в качестве параметра передать таблицу. По моей практике это не очень возможно.
Я в таком случае в транзации формирую времянку на сервере, передаю ее в нее таблицу и дальше делаю требуемые операции.
Но сейчас смотря на ваш код я не очень понимаю зачем передавать таблицу на сервер что бы сервером из нее сделать SELECT.
Может проще LINQ использовать?
Ответ написан
Ваш ответ на вопрос

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

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