Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Работа с blob в sqlite


Автор: shurokan 28.3.2010, 14:01
Немогу розобраться с полем blob в sqlite. Например, нужно сохранять .doc в БД. Для этого использую следующий код:
Код

                    if (dlg.ShowDialog() != DialogResult.OK) return;
                  byte[]  blank_doc = System.IO.File.ReadAllBytes(dlg.FileName);

                    SQLiteConnection connection = new SQLiteConnection();
                    connection.ConnectionString = "Data Source= Data\\data.db3;Version=3;New=True;Compress=True;";
                    connection.Open();


                    SQLiteCommand command = connection.CreateCommand();
                    command.CommandText = "INSERT INTO blank (name, doc, fk_blank_type) " +
                        "VALUES (@name, @doc, @fk_blank_type)";
                    command.Parameters.AddWithValue("@name", blank_name);
                    if (blank_doc != null)
                        command.Parameters.AddWithValue("@doc", blank_doc);
                    else
                        command.Parameters.AddWithValue("@doc", DBNull.Value);
                    command.Parameters.AddWithValue("@fk_blank_type", fk_blank_type);
                    try
                    {
                        command.ExecuteNonQuery();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Erorr");
                    }
                    connection.Close();

Ошибка выскакивает на строке: 
Код
  connection.Open();

Если сначала открыть соидинение БД, а потом уже уже прочитать файл, то код проходить без ошибок, но при любом следующем обращении к БД ошибка на: 
Код
  connection.Open();
. 
Как сохранять и читать поле blob?

Автор: shurokan 28.3.2010, 16:55
Код

connection.ConnectionString = "Data Source= |DataDirectory|Data\\data.db3;Version=3;New=True;Compress=True;";

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)