Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.55.14] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
С базой Paradox работаю через TQuery. В таблице есть поле MEMO.
В програмульке надо из RichEdit перенести весь отформатированный текст в базу. Вроде надо использовать параметры, но ничего не получается, инфа о цветах, шрифтах и т.п. теряется. Помогите, очень нужно. :'( |
Сообщ.
#2
,
|
|
|
Используй DBRichEdit или...
Сохрани RAW данные в поле типа BLOB (Large Binary Object) как бинарный образ... |
Сообщ.
#3
,
|
|
|
Через потоки (SaveToStream, LoadFromStream)
|
Сообщ.
#4
,
|
|
|
А проще нельзя?
|
Сообщ.
#5
,
|
|
|
Куда уж проще чем через потоки? Это ж всего пара строчек кода, а потоки - это одно из самых мощных технологий в программировании, на них добрая половина VCL зиждется...
|
Сообщ.
#6
,
|
|
|
Поподробнее, я же чайник. Как В базу то записать?
Все, что я смог сделать - это RichEdit1.Lines.SaveToStream(); а у меня там такой еще запрос Query1.SQL.Add('Update Films set '+ ' NameRus= '''+Edit1.Text+''','+ ' NameEng= '''+Edit2.Text+''','+ ' Zhanr= '''+ComboBox1.Text+''','+ ' Opis= :POpis,'+ ' kol= '''+Edit3.Text+''','+ ' Country='''+ComboBox2.Text+''','+ ' Company='''+ComboBox3.Text+''','+ ' God='''+ComboBox4.Text+''''+ ' where NameRus='''+Lib.Query1.FieldByName('NameRus').AsString+''''); Если бы не надо было хранить шрифты и размеры текста, все было бы просто: Query1.Params.ParamValues['POpis'] :=RichEdit1.Text; |
Сообщ.
#7
,
|
|
|
procedure TForm1.Button1Click(Sender: TObject);<br>begin<br> //запись <br> Table1.Edit;<br> Table1.FieldByName('MyMemoField').Assign(RichEdit1.Lines);<br> Table1.Post;<br>end;<br><br>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br> // чтение<br> RichEdit1.Lines.Assign(Table1.FieldByName('MyMemoField'));<br>end;<br> |
Сообщ.
#8
,
|
|
|
Я же использую Query, а не Table. Через SQL никак?
|
Сообщ.
#9
,
|
|
|
Что-то типа такого - писал на вскидку, возможны ошибки, но в любом случае это делается через параметры:
<br>Insert into MyTable (MyField)<br>Values (:MyField)<br>...<br><br>procedure TForm1.Button1Click(Sender: TObject); <br>begin <br> //запись <br> Query1.params.parssql(Query1.sql.text, true); <br> Query1.params.parambyname('MyField').Assign(RichEdit1.Lines); <br> Query1.execsql; <br>end; <br> |