sql problemche...

5 отговора 173 прегледа
#1

sql problemche...

Prawq sledniq INSERT:
query.SQL.Text:= 'INSERT INTO MRules (SRules) VALUES("ffffff")';
query.open;

Can not convert data type from string to uknown

Posle probwam towa:
query.SQL.Clear;
query.SQL.Add('INSERT INTO MRules');
query.SQL.Add('(SRules)');
query.SQL.Add('VALUES (:Text)');
query.Params[0].AsMemo:='skhfdasdhg';
// query.Params[0].AsString:='skhfdasdhg'; taka syto nis]o nestawa
// query.Params[0].AsBlob:='skhfdasdhg';


query.open;

, i poluchawam access violation... :(


Problemyt qwno e s towa memo pole, ama ne znam kakyw e.
Pomagaite, pls...

Отговор
в отговор на no #2

Re: sql problemche...

Ами не полвай Open ами Execute метода ;-))) на TQuery - за подробности help-а.
А пък колкото до Memo полетата би трябвало свободно да си ги достъпваш със string типа? или се лъжа.
---
Е т'ва е живот!

Редактирано от PhantomAS на

Отговор
в отговор на PhantomAS #3

Re: sql problemche...

//Ами не полвай Open ами Execute метода ;-))) на TQuery - за подробности help-//а.

С ExecSql пак бичи "Access violation read of adress FFFFFF..."

//А пък колкото до Memo полетата би трябвало свободно да си ги
//достъпваш със string типа? или се лъжа.

Значи аз точно това правя, присвоявам му string, ама не сум сигурен дали може. Т.е. при компилация няма проблеми, ама накрая гърми... :(


Намерих заобиколен начин да я взема тая мемо стойност, чрез TDBMemo,
aма не ми харесва изобщо така. Искам със SQL заявка...

Отговор
в отговор на no #4

Re: sql problemche...

Кажи каква база данни ползваш и какъв е точно типа на полето, ако обичаш.

чети и дишай по-леко
Отговор
в отговор на Pechenia #5

Re: sql problemche...

Polzwam EasyTable i EasyQuery...
Dnes probwah i taka

query.SQL.Clear;
query.SQL.Add('INSERT INTO MRules (SRules) VALUES (:MemoParam)');

query.ParamByName('MemoParam').DataType:=ftMemo;
query.ParamByName('MemoParam').AsMemo:='osdffffffsfia';


query.ExecSQL;

i taka
query.params[0].DataType:=ftMemo;

i pak pisti s access violation.

Отговор
в отговор на no #6

Re: sql problemche...

Проблемът се реши с Table, a ne s Query така:

if EasyTable1.FindFirst then begin
EasyTable1.Edit;
EasyTable1.FieldByName('SRules').AsString:='текст';
EasyTable1.Post;
end;

Трябваше ми да мога да правя Add/Insert/Set в тази таблица i s Table всицхко е ОК.

Въпросът за query - to си остава... Защо да не мога с TEasyQuery да правя същите дайствия.
По интересно стана като се разтърсих из нюзгрупите... Оказа се че това е било проблем с някои от ранните версии на Делфи(аз ползвам 6), и има няколко
постинг-а с подобни въпроси, но няма добри отговори на проблемът.
Както и да е, проблемът ми е решен по заобиколен начин...

Отговор