Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c