Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

TAdoCommand и параметры   Найти похожие ветки 

 
x_x_x   (2003-12-10 12:42) [0]

AdoCommand.ConnectionString := "Provider=MSDASQL.1;Persist Security Info=False;Data Source=файлы dBASE;Initial Catalog=x:\xxx\xx";
AdoCommand.CommandType := cmdText;
AdoCommand.CommandText := "UPDATE SomTable SET F1 = :F1, F2 = :F2 WHERE F3 = :F3";
AdoCommand.Parameters.Clear;
AdoCommand.Parameters.CreateParameter("F1", ftString, pdInput, 20, null)
AdoCommand.Parameters.CreateParameter("F2", ftString, pdInput, 20, null)
AdoCommand.Parameters.CreateParameter("F3", ftString, pdInput, 20, null)
AdoCommand.Parameters[1].Value = "fff1";
AdoCommand.Parameters[1].Value = "fff2";
AdoCommand.Parameters[1].Value = "fff3";
AdoCommand.Execute;

Запись с полем fff3 заведомо есть. Смотрю значения параметров - все как и хотелось, НО апдейта не происходит.
ПОЧЕМУ?
КАК посмотреть обработанный запрос, который Execute ;))
СПАСИБО


 
x_x_x   (2003-12-10 12:43) [1]

Поправка
AdoCommand.Parameters[1].Value = "fff1";
AdoCommand.Parameters[2].Value = "fff2";
AdoCommand.Parameters[3].Value = "fff3";


 
Silver Alex ©   (2003-12-10 12:58) [2]


> AdoCommand.Parameters.Clear;
> AdoCommand.Parameters.CreateParameter("F1", ftString, pdInput,
> 20, null)
> AdoCommand.Parameters.CreateParameter("F2", ftString, pdInput,
> 20, null)
> AdoCommand.Parameters.CreateParameter("F3", ftString, pdInput,
> 20, null)

а зачем это?


 
x_x_x   (2003-12-10 13:53) [3]

Для того чтобы контролировать параметры. Например если я буду вызывать ХП (не из dBase конечно), то как обойтись без явного описания параметров?


 
Silver Alex ©   (2003-12-10 14:12) [4]

ну посмотри что ты делаешь, сначала убиваешь все параметры
AdoCommand.Parameters.Clear;
а потом по новой добавляешь.Убери этот кусок не нужен он и попробуй без него.И пиши не
AdoCommand.Parameters[1].Value
а
AdoCommand.Parameters.ParamByName("f1").Value


 
Плохиш_   (2003-12-10 14:13) [5]

>x_x_x (10.12.03 12:43) [1]

> Поправка
> AdoCommand.Parameters[1].Value = "fff1";
> AdoCommand.Parameters[2].Value = "fff2";
> AdoCommand.Parameters[3].Value = "fff3";


Хм, а что индексы теперь не с 0 начинаются?


 
x_x_x   (2003-12-10 16:02) [6]

Про индексы согласен, в реальности они с нуля...
По поводу AdoCommand.Parameters.Clear я писал - продиктовано необходимостью. Данный пример сильно упрощен для простоты восприятия. На самом деле вокруг добавления параметра обертка, но это отсупление от темы.
Вопрос в том что например
AdoCommand.CommandText := "INSERT INTO SomTable (F1, F2, F3) VALUES (:F1, :F2, :F3)";
AdoCommand.Parameters.Clear;
AdoCommand.Parameters.CreateParameter("F1", ftString, pdInput, 20, null)
AdoCommand.Parameters.CreateParameter("F2", ftString, pdInput, 20, null)
AdoCommand.Parameters.CreateParameter("F3", ftString, pdInput, 20, null)
выполняется на ура.
И как отмечалось если при трассировке посмотреть значения параметров до Execute, то они те что нужно.
И очень интересно как всетаки посмотреть ЧТО он Execute ???


 
sniknik ©   (2003-12-10 17:14) [7]

x_x_x (10.12.03 12:42)
странное применение

или так
AdoCommand.ParamCheck:= true; {default}
AdoCommand.CommandText := "INSERT INTO SomTable (F1, F2, F3) VALUES (:F1, :F2, :F3)";
AdoCommand.Parameters[0].Value = "fff1"; {или по имени}
AdoCommand.Parameters[1].Value = "fff2";
AdoCommand.Parameters[2].Value = "fff3";
AdoCommand.Execute;

или так
AdoCommand.ParamCheck:= false;
AdoCommand.CommandText := "INSERT INTO SomTable (F1, F2, F3) VALUES (?, ?, ?)";
AdoCommand.Parameters.CreateParameter("F1", ftString, pdInput, 20, "fff0");
AdoCommand.Parameters.CreateParameter("F2", ftString, pdInput, 20, "fff1");
AdoCommand.Parameters.CreateParameter("F3", ftString, pdInput, 20, "fff2");
AdoCommand.Execute;

а обьеденять то зачем?

> И очень интересно как всетаки посмотреть ЧТО он Execute ???
function Execute(var RecordsAffected: Integer; const Parameters: OleVariant): _RecordSet; overload;
не заметил она таки функция, а значится чтото возвращает. а вар параметр RecordsAffected количество обработанных строк показывает...



Страницы: 1 вся ветка

Текущий архив: 2004.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
6-25490
Кузнецова А.
2003-11-05 12:18
2004.01.09
Как получить подтверждение доставки


1-25427
hobbeat
2003-12-24 07:04
2004.01.09
Притормаживания IDE Deplphi


1-25384
АМБ
2003-12-24 17:11
2004.01.09
Работа с DBGrid-ом


3-25205
jonik_jj
2003-12-11 17:44
2004.01.09
DevExpress- Проблемы с TdxDBLookupEdit


1-25351
АлекСандр Мих
2003-12-22 11:05
2004.01.09
Работа с Debug