Ошибка при попытке запроса базы данных SQLite3 в C # - PullRequest
2 голосов
/ 01 апреля 2012

Я пытаюсь получить доступ к базе данных SQLite 3 программно, используя следующий код:

private void button1_Click(object sender, EventArgs e)
{
    try
    {

        string connectionPath = @"Data Source=C:\temp\sms.db";

        SQLiteConnection connection = new SQLiteConnection(connectionPath);

        SQLiteCommand command = connection.CreateCommand();
        connection.Open();
        string query = "SELECT * FROM Message";
        command.CommandText = query;
        command.ExecuteNonQuery();

        SQLiteDataAdapter dataAdaptor = new SQLiteDataAdapter(command);
        DataSet dataset = new DataSet();
        dataAdaptor.Fill(dataset, "messages");
        dataGridView1.DataSource = dataset.Tables["messages"];
        connection.Close();

    }

    catch
    {
        MessageBox.Show("error", "error", MessageBoxButtons.OK);
    }
}

Однако всякий раз, когда я нажимаю кнопку, которой назначен этот код, он не попадает на Try Catch и не отображает мое сообщение, а останавливается на несколько секунд и отлаживается в файле Program.cs в линия, показанная ниже

    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new frmMainWindow()); **<----This Line**
    }
}

В этой строке он отображает эту ошибку для меня

Не удалось загрузить файл или сборку 'System.Data.SQLite, версия = 1.0.76.0, культура = нейтральная, PublicKeyToken = db937bc2d44ff139 'или одна из его зависимостей.
Была предпринята попытка загрузить программу с неверным форматом.

Как я могу преодолеть эту ошибку, чтобы я мог запросить базу данных?

EDIT

Моя операционная система разработки - Win 7 x64 Prof
Я установил:
Настройки для 64-битной Windows (.NET Framework 4.0)
Настройки для 32-битной Windows (.NET Framework 4.0)
отсюда system.data.sqlite.org / index.html / doc / trunk / www / downloads.wiki

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

Оказалось, что Visual Studio по какой-то причине неправильно ссылалась на другую версию System.Data.SQLite.dll

Я удалил старую ссылку и скопировал новые файлы System.Data.SQLite.dll в папку:

C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client

Затем снова добавил ссылку на него, используя Visual Studio, и теперь он работает

2 голосов
/ 01 апреля 2012

Какую dll вы используете?если вы находитесь в системе x64, вы должны использовать x64 dll SQLite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...