LSB71 Ответов: 1

C# windows выполняет поиск с помощью sqlite_master, если таблица существует


Hello,
Need help with this piece of code 
....
Whether the table exists or not I still have Message 2 coming.
How do I know if a table exists?

thank you,


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

Program.Connex_Bdd.Open();
   var query_ttle = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='My_Tble' COLLATE NOCASE";
   var cmd = new SQLiteCommand(query_ttle, Program.Connex_Bdd);
   int i = 0;
   i = int.Parse(cmd.ExecuteScalar().ToString());

   if (i > 0)
   {
       MessageBox.Show("1");
   }
   else
   {

       MessageBox.Show("2");
   }

   Program.Connex_Bdd.Close();

ZurdoDev

В чем заключается ваш вопрос? У вас есть код, который выглядит так, как будто он работает, так о чем же вы нас спрашиваете?

Richard Deeming

Вы перепроверили написание названия вашей таблицы?

Это настоящий стол или временный?

1 Ответов

Рейтинг:
10

Richard MacCutchan

Используйте отладчик, чтобы точно увидеть, что возвращается при вызове ExecuteScalar .


LSB71

Привет Ричард,
query_ttle "выбрать количество(*) из sqlite_master где Type='table' и имя='My_Tble' предложение COLLATE NOCASE" строку
УМК {система.Данных.Базы данных SQLite.Система SQLiteCommand}.Данных.Базы данных SQLite.SQLiteCommand
i 0 int
Независимо от того, присутствует ли таблица или нет, i = 0 !!!

Richard MacCutchan

Убедитесь, что ваш тип правильный.