Допоможіть занести файл

Допоможіть занести файл * .txt в Базу Даних

Привіт ув. програмісти. У мене виникло питання з приводу занесення файлів в базу даних. З картинками питань немає, а ось з текстовими файлами з'явилися. У текстовому файлі від 20 до 50 рядків, я звичайно МОГБ створити поле в БД з розмірністю близько 2 000 символів-але я вважаю це неправильним рішенням. Якщо хто може помоч- ласка допоможіть. Зараннее вдячний!

> [0] Володимир Волобуєв # XA0; (22.06.07 13:12)
> Я звичайно МОГБ створити поле в БД з розмірністю близько 2
> 000 символів-але я вважаю це неправильним рішенням

D В файлі ТІЛЬКИ текст, або які-небудь картинки є? Файл в юникоде чи ні?
Якщо тільки текст без юнікода - см. Тип даних text
Якщо тільки текст в юникоде - см. Тип даних ntext
Якщо мета-файл - см. Тип даних image

Хоча можна обійтися і varchar (8000)

Дякую що приділяєте мені час.

Якщо немає проблеми з картинками, то звідки проблеми з текстом, відмінностей між ними немає.

Текст - це текст. Бінарник - це бінарник. Для тексту - або varchar (якщо менше 8000 символів), або text.
Для бінарники - тільки image і ніщо інше.

Я думаю питання стоїть інакше задати. Як завантажити RAR архів в базу даних.


> Володимир Волобуєв # XA0; (22.06.07 15:03) [6]
> Зображення завантажуємо через DBImage а для завантаження файлу немає
> Компонента.

Тут. ця. пора вже і книжку-яку почитати.


> А для завантаження файлу немає компонента

До речі, для завантаження текстового файлу цілком-таки є такий кАмпаненто TDBMemo, клацають евойний.


> # XA0; думав може тут знають :(

Ну ну. Чергове "наслабо".

Ну в принципі знають, тільки розповідати те, що в книгах / документації описано по-перше, лінь, а по-друге, конференція не та.


> Я написав "Файл". Це означає файлів різного типу даних.

Давай з самого початку.
Яка у тебе стоїть завдання? файловий архів? Або що?

ЗИ: Книги які прошаріл "SQL повне керівництво" в ній описані типи даних, але як забити тугіше картінку- не написано. "SQL запити для простих смертних" -там теж немає і "Delphi 6-7 і SQL". Я незнаю хто тут читає камасутру, але на даному форумі цього час приділяти не варто.

І BLOB / Image / Memo-поля в цих книгах теж не описані?

Подивися в прикладах Delphi роботу з TBlobStream, TFileStream і все стане ясно. Відкривай свій текстовий (і будь-який інший) файл, використовуючи TFileStream, копіюй в TBlobStream.

Детальніше лінь, на пам'ять не зможу розписати.

> Відкривай свій текстовий (і будь-який інший) файл, використовуючи
> TFileStream, копіюй в TBlobStream.

А TFileStream до чого тут? Досить звичайного LoadFromFile.


> А TFileStream до чого тут? Досить звичайного LoadFromFile.

Звичайний - це звичайно добре, але хотілося б дізнатися, якого класу він.

> Звичайний - це звичайно добре, але хотілося б дізнатися, якого
> Класу він.

Це метод класу TMemoryStream, від якого успадкований TBlobStream;)

smirnov # XA0; (23.06.07 19:43) [18]
TBlobField

ну тоді пардон.
Я чогось на TBlobStream заклинив.

вилучено модератором
Примітка: Тут є свої модератори, приїжджі не потрібні

Для будь-яких типів даних:
Query1.Sql.Text: =
# XA0; "INSERT INTO testblob" +
# XA0; "(" +
# XA0; " # XA0; fBlob "+
# XA0; ")" +
# XA0; "VALUES" +
# XA0; "(" +
# XA0; ": ParamBlobField" +
# XA0; ")";
Query1.ParamByName ( "ParamBlobField"). DataType: = ftBlob;
Query1.ParamByName ( "ParamBlobField"). ParamType: = ptInput;
Query1.ParamByName ( "ParamBlobField"). LoadFromFile ( "MyFile", ftBlob);
Query1.ExecSql;

Дякуємо. Буду разбіратся з кодом.

Все-таки дочекався халяви.