1

Тема: Проблема з SQLite

Привіт. Я хочу позапихати в SQLite усіляких даних. Базу і таблицю я створив з допомогою SQlite Browser, це такий гуішний менеджер, а код пишу такий от

using System.Data.SQLite;

namespace imageComparer
{
    class SQLiteManager
    {
        string dbConnection;
        SQLiteConnection connection;
        SQLiteCommand command;

        public SQLiteManager(string path)
        {
            dbConnection = "Data Source=" + path;
        }

        public void Connect()
        {
            connection = new SQLiteConnection(dbConnection);
            connection.Open();
            command = new SQLiteCommand(connection);
        }

        public void Disconnect()
        {
            connection.Close();
        }

        public void Insert(string cmd)
        {
            command.CommandText = cmd;
            command.ExecuteNonQuery();
        }
    }
}

а потім отаке робиться

sqlManager = new SQLiteManager("Data Source=sqldb.db"); // тут я по всякому пробував
sqlManager.Connect();
foreach(var h in hash)
{
    string path = h.path;
    string hash = "";
    foreach (var b in h.hash)
        hash += (b ? "1":"0");

    sqlManager.Insert(string.Format(
        "INSERT INTO pics (path, hash, used) VALUES ('{0}','{1}',{2})", path, hash, 0));
}

Сама база знаходиться за адресою

C://users/username/sqlbd/sqlbd.bd

і от якщо я пишу саме таку адресу, то воно каже

Additional information: The given path's format is not supported.

на етапі відкриття з'єднання

connection.Open();

а якщо в якості адреси я юзаю просто

sqldb.db

, то воно каже

Additional information: SQL logic error or missing database

no such table: pics

на етапі

command.ExecuteNonQuery();

хоча там наче все є.
В чому може бути проблема?

2

Re: Проблема з SQLite

віндовий шлях не неправильний :  С:\path\to.db

Подякували: FakiNyan1

3

Re: Проблема з SQLite

muhasjo написав:

віндовий шлях не неправильний :  С:\path\to.db

ну да, я просто не копіював його при створенні теми, там слеші отакі \,
якщо бути точним, то от так

sqlManager = new SQLiteManager("Data Source=C:\\Users\\Ashley\\sqldb\\sqldb.db");

4

Re: Проблема з SQLite

Так яка ж наразі помилка то? Та чи та?

хоча там наче все є.

Як перевіряв?

5 Востаннє редагувалося mike (12.11.2015 19:13:07)

Re: Проблема з SQLite

спробуйте використати

SQLiteConnection sqlConnection = new SQLiteConnection("Data Source=C:\\Users\\Ashley\\sqldb\\sqldb.db;Version=3;New=False;Compress=True;"); 
string CommandText = "select id, desc from mains"; 
SQLiteDataAdapter DB = new SQLiteDataAdapter(CommandText,sqlConnection); 

взято звідси

Прихований текст

скільки разів не лазив на codeproject, таке враження що там одні індуси %)

6

Re: Проблема з SQLite

muhasjo написав:

спробуйте використати

SQLiteConnection sqlConnection = new SQLiteConnection("Data Source=C:\\Users\\Ashley\\sqldb\\sqldb.db;Version=3;New=False;Compress=True;"); 
string CommandText = "select id, desc from mains"; 
SQLiteDataAdapter DB = new SQLiteDataAdapter(CommandText,sqlConnection); 

взято звідси

Прихований текст

скільки разів не лазив на codeproject, таке враження що там одні індуси %)

так вони там шось незрозуміле юзають, а в мене https://www.nuget.org/packages/System.Data.SQLite/

7 Востаннє редагувалося mike (12.11.2015 19:29:59)

Re: Проблема з SQLite

FakiNyan написав:
muhasjo написав:

спробуйте використати

SQLiteConnection sqlConnection = new SQLiteConnection("Data Source=C:\\Users\\Ashley\\sqldb\\sqldb.db;Version=3;New=False;Compress=True;"); 
string CommandText = "select id, desc from mains"; 
SQLiteDataAdapter DB = new SQLiteDataAdapter(CommandText,sqlConnection); 

взято звідси

Прихований текст

скільки разів не лазив на codeproject, таке враження що там одні індуси %)

так вони там шось незрозуміле юзають, а в мене https://www.nuget.org/packages/System.Data.SQLite/

оу, да, сорі, це дійсно якась їхня паддєлка. Хоча впринципі класи юзать ті самі, що і у вас. так що думаю для прикладу нормально

Подякували: FakiNyan1

8

Re: Проблема з SQLite

помітив дещо...

public SQLiteManager(string path)
{
    dbConnection = "Data Source=" + path;
}
...
sqlManager = new SQLiteManager("Data Source=sqldb.db");
Подякували: mike1

9

Re: Проблема з SQLite

вот думаю тут то і проблема))

10

Re: Проблема з SQLite

muhasjo написав:

вот думаю тут то і проблема))

так воно і є, все ок тепер