powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Опять blob поле, опять проблема
8 сообщений из 8, страница 1 из 1
Опять blob поле, опять проблема
    #32256297
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то делаю не так, но что и где?

необходимо сохранить значение из поля TMemo в базу данных (Access2000, тип MEMO). В результате напрочь изменяется кодировка сохраняемых данных



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var
    blobstream_Adress:TMemoryStream;
begin
    ADOQuery_data_write.Prepared;
    blobstream_Adress:=TMemoryStream.Create;
    ADOQuery_data_write.SQL.Clear;
    ADOQuery_data_write.sql.Text:='UPDATE tblDriver SET Adress =:blobAdress    WHERE tblDriver.ID_client=' + IntToStr(intStatus_open);
     me_Adress.Lines.SaveToStream(blobstream_Adress);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').DataType:= ftBLOB;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').Direction:= pdInput;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromFile(DirectoryEdit1.Text,ftGraphic);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromStream(blobstream_Adress,ftBlob);

      try
           ADOQuery_data_write.ExecSql;
      except
            exit;
      end;

 blobstream_Adress.Free;
 Blobstream_Adress:=nil;

end;
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256298
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то делаю не так, но что и где?

необходимо сохранить значение из поля TMemo в базу данных (Access2000, тип MEMO). В результате напрочь изменяется кодировка сохраняемых данных



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var
    blobstream_Adress:TMemoryStream;
begin
    ADOQuery_data_write.Prepared;
    blobstream_Adress:=TMemoryStream.Create;
    ADOQuery_data_write.SQL.Clear;
    ADOQuery_data_write.sql.Text:='UPDATE tblDriver SET Adress =:blobAdress    WHERE tblDriver.ID_client=' + IntToStr(intStatus_open);
     me_Adress.Lines.SaveToStream(blobstream_Adress);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').DataType:= ftBLOB;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').Direction:= pdInput;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromFile(DirectoryEdit1.Text,ftGraphic);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromStream(blobstream_Adress,ftBlob);

      try
           ADOQuery_data_write.ExecSql;
      except
            exit;
      end;

 blobstream_Adress.Free;
 Blobstream_Adress:=nil;

end;
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256299
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то делаю не так, но что и где?

необходимо сохранить значение из поля TMemo в базу данных (Access2000, тип MEMO). В результате напрочь изменяется кодировка сохраняемых данных



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var
    blobstream_Adress:TMemoryStream;
begin
    ADOQuery_data_write.Prepared;
    blobstream_Adress:=TMemoryStream.Create;
    ADOQuery_data_write.SQL.Clear;
    ADOQuery_data_write.sql.Text:='UPDATE tblDriver SET Adress =:blobAdress    WHERE tblDriver.ID_client=' + IntToStr(intStatus_open);
     me_Adress.Lines.SaveToStream(blobstream_Adress);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').DataType:= ftBLOB;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').Direction:= pdInput;
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromFile(DirectoryEdit1.Text,ftGraphic);
     ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromStream(blobstream_Adress,ftBlob);

      try
           ADOQuery_data_write.ExecSql;
      except
            exit;
      end;

 blobstream_Adress.Free;
 Blobstream_Adress:=nil;

end;
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256305
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем тебе текст в блобах хранить ? ну и клади в text поле.
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256312
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если его много?
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256319
Dmitry_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, но методом интуиции (информации таки нигде не нашел) проблему решил:

Код: plaintext
1.
2.
3.
4.
5.
6.
...
ADOQuery_data_write.Parameters.ParamByName('BlobAdress').DataType:= ftMEMO;
...
ADOQuery_data_write.Parameters.ParamByName('BlobAdress').LoadFromStream(blobstream_Adress,ftMEMO); < ---------изменить тип поля
 
...
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256381
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--А если его много?
сколько много ?

text как и блоб для MS SQL2000 может хранить до 2 Гб.

и в случае с text просто field->AsString = "твой текст 2Гб";
...
Рейтинг: 0 / 0
Опять blob поле, опять проблема
    #32256384
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон был не прав
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Опять blob поле, опять проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]