Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TsqlDataSet +Dbexpress+Mysql [D2005, XP]


совсем чайник ©   (2007-02-20 14:28:00) 

Здравствуйте проблема в следующем:
использую TSqlDataset, по параметрам настроен он правильно, т.е. поля в таблице конкретной он "видит". Но после попытки применить к нему метод edit. Он пишет ошибку "Cannot modify a read-only dataset" вот собственно и вопрос что необходимо сделать, чтобы dataset стал не read only ?


совсем чайник   (2007-02-20 15:30:00) [1]

Понял, переделал, теперь верно?

if rra.image<>'' then
 begin
   fproc.q1.SQL.Text:=fproc.q1.SQL.Text+',sepcimage='':paramblob''';
   p:=tparam.Create(nil);
   p.Name:='paramblob';
   fproc.q1.Params.AddParam(p);
   fproc.q1.ParamByName('paramblob').DataType := ftBlob;
   fproc.Q1.ParamByName('paramblob').ParamType := ptInput;
   fproc.Q1.ParamByName('paramblob').LoadFromFile(rra.image,ftBlob);
 end;
try
 fproc.q1.ExecSQL(true);
 result:=0;
except
 result:=1;


Reindeer Moss Eater   (2007-02-20 15:19:00) [2]

ParamCheck property (TCustomSQLDataSet)

Specifies whether the parameter list for an SQL dataset is regenerated when the SQL command changes.


совсем чайник   (2007-02-20 15:13:00) [3]

Понял, извините что сразу не уточнил в справочной информации (
тогда второй вопрос:
необходимо вставить картинку в blob поле, действую следующим образом:
if rra.image<>'' then
 begin
   fproc.q1.ParamByName('paramblob').DataType := ftBlob;
   fproc.Q1.ParamByName('paramblob').ParamType := ptInput;
   fproc.Q1.ParamByName('paramblob').LoadFromFile(rra.image,ftBlob);
   fproc.q1.SQL.Text:=fproc.q1.SQL.Text+',sepcimage='':paramblob''';
 end;
try
 fproc.q1.ExecSQL(true);
 result:=0;
except
 result:=1;

При execsql выдается ошибка, что нет параметра 'paramblob' , хотя параметр с этим названием создавался в disign-time  и он абсолютно точно есть, вот собственно доказательство:
 object q1: TSQLQuery
   MaxBlobSize = -1
   Params = <
     item
       DataType = ftBlob
       Name = 'paramblob'
       ParamType = ptInput
     end>


Reindeer Moss Eater   (2007-02-20 15:09:00) [4]

There is no built-in editing support: you can only edit the data in an SQL dataset by explicitly creating an SQL UPDATE command or by connecting the dataset to a client dataset using a provider.


Наверх

Титульная страница Поиск, карта сайта Написать письмо