@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 использовать?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы