Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизADO, странное формирование запроса на апдейт. Найти похожие ветки
← →
Danilka © (2005-05-04 13:41) [0]Просто случайно заметил только-что, еще не разбирался толком как "лечить":
СУБД: MS-SQL.
Имеем таблицу:
create table t_test (
y1 int identity,
y2 varchar(10),
y3 varchar(10),
y4 int,
primary key (y1))
На форме - ADOConnection, ADODataset, DataSource и DBGrid.
В гриде изменяем у любой записи значение, например, поля y3, после поста в SQL Profiler видим, что выполняется такой запрос:exec sp_executesql N"UPDATE "di".."t_test" SET "y3"=@P1 WHERE "y1"=@P2 AND "y3"=@P3", N"@P1 varchar(1),@P2 int,@P3 varchar(1)", "4", 1, "1"
То-есть, в секции WHERE перечислено кроме ключевого поля еще и изменяемое. Почему? Никогда раньше с редактированием в гриде не сталкивался.
← →
Danilka © (2005-05-04 13:46) [1]да, забыл написать, ADODataset.CommandText = "select y1, y2, y3, y4 from t_test"
ну и все компоненты между собой связаны, конечно-же.
:)
← →
Stanislav © (2005-05-04 13:51) [2]Может вам поможет эта ссылка
http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/helloworld/ado02.htm
← →
sniknik © (2005-05-04 13:57) [3]create table t_test (
y1 int identity(1, 1) PRIMARY KEY,
y2 varchar(10), ...
проверь так.
← →
sniknik © (2005-05-04 13:58) [4]упс. сорри не обратил внимания > primary key (y1))
← →
Danilka © (2005-05-04 13:59) [5][2] Stanislav © (04.05.05 13:51)
Точно! Помогло, спасибо. :))
← →
Danilka © (2005-05-04 14:00) [6]Конкретно, помогло вот-это:
ADODataSet1.Properties["Update Criteria"].Value := 0;
← →
Stanislav © (2005-05-04 14:38) [7]Danilka © (04.05.05 14:00) [6]
А интересно если поставить серверный курсор, что покажет profiler?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c