В общем вопрос в следующем. Нужно выполнить простенький запрос, использующий параметры. Я скорее всего гдето торможу, но чтото пока никак не могу понять как создать эти параметры у sqlquery в рантайме.
пробовал так:
Код | newsquery.Params.CreateParam(ftWideString,'NewsName',ptUnknown); newsquery.Params.CreateParam(ftWideString,'NewsText',ptUnknown); newsquery.Params.CreateParam(ftWideString,'NewsImg',ptUnknown);
newsquery.ParamByName('NewsName').Value:=newsname; newsquery.ParamByName('NewsText').AsString:=newstext; newsquery.ParamByName('NewsImg').Value:=newsimg;
newsquery.Active:=false; newsquery.SQL.Clear; newsquery.SQL.Add('INSERT INTO news (name, text, image) VALUES(:NewsName,:NewsText,:NewsImg'); newsquery.ExecSQL();
|
и так:
Код | newsquery.SQL.Add('INSERT INTO news (name, text, image) VALUES(:NewsName,:NewsText,:NewsImg'); newsquery.Params.ParseSQL(newsquery.SQL.Text,true); newsquery.ParamByName('NewsName').Value:=newsname; newsquery.ParamByName('NewsText').AsString:=newstext; newsquery.ParamByName('NewsImg').Value:=newsimg; newsquery.ExecSQL();
|
и в одном и в другом случае получаю "No value for parameter 'NewsName' ". Что я делаю не так? |