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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
1-1117482338
Nasa
2005-05-30 23:45
2005.06.14
Welcome Screen


3-1115902646
MakNik
2005-05-12 16:57
2005.06.14
dxDBGrid


14-1117023904
cyborg
2005-05-25 16:25
2005.06.14
Сейчас новости шестичасовые по первому были


1-1117451915
Mouserx
2005-05-30 15:18
2005.06.14
Использование inherited


14-1116941725
vecna
2005-05-24 17:35
2005.06.14
МВД собирается застраховать россиян от совершения преступлений