Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Вниз

При выполнении запроса UPDATE данные в таблице не обновляются   Найти похожие ветки 

 
Rat   (2003-08-26 17:00) [0]

Доброго времени суток!
Подскажите пожалуйста решение моей проблемы:
При выполнении запроса SQL такого вида:
UPDATE MyTable
SET MyField0=:NewField0
********
********
MyField17=:NewField17
WHERE ID=:NewID
Данные не обновляются.
Параметры беру с Edit.Text а последний с DbText.Field.AsString
В DbTExt - результаты выполнения предидущего запроса на поиск.
При этом данный квури выполняется но данных не обновляет.
Плз помогите как быть.....


 
Reindeer Moss Eater   (2003-08-26 17:03) [1]

Нет записей, удовлетворяющих условию WHERE


 
Rat   (2003-08-26 17:12) [2]

Спасибо за ответ!
Нет, данные есть, они берутся из результатов поиска предидущего
запроса, хотя я не уверен, что это правильно
Параметр :NewID берется с DbTExt.Field.AsString а перед этим
этому DbText присвоено значение этого самого ID


 
Reindeer Moss Eater   (2003-08-26 17:18) [3]

Параметр :NewID берется с DbTExt.Field.AsString а перед этим
этому DbText присвоено значение этого самого ID


Ну и что?
Присвоение значения какому-то параметру - гарантия наличия записей в БД?
Нет!


 
Vlad   (2003-08-26 17:22) [4]

Напиши код, как вобще все происходит.


 
Rat   (2003-08-26 17:23) [5]

Спасибо еще раз!!
Тогда не подскажете как можно этому :NewID присвоить значение
ID из результатов поиска?


 
Reindeer Moss Eater   (2003-08-26 17:29) [6]

Ты лучше скажи, как было установлено то, что данные не обновляются?


 
Rat   (2003-08-26 17:29) [7]

Текст запроса:
UPDATE dbo.Equipment

SET [Device Type] =:NewType ,
Manufacturer =:NewMan ,
[Device Model]= :NewModel ,
[Device SN] =:NewSn,
[Dealers Name]=:NewDeal,
[Target Org. name]=:NewTar,
[Contract supply N]=:NewN,
[Device Designation]=:NewDes,
[Video interface]=:NewVid,
[Audio interface]=:NewAud,
[Control inerface]=:NewCont,
[sync interface]=:Newsync,
[Universal Interface]=:NewUni,
[Clip kind]=:NewClip

WHERE [Equipment UID]=:NewEWUID
Вызов:
DataModule2.Save1.Close;
DataModule2.Save1.Params[0].AsString:=ComboBox1.Text;
DataModule2.Save1.Params[1].AsString:=Edit1.Text;
DataModule2.Save1.Params[2].AsString:=Edit2.Text;
DataModule2.Save1.Params[3].AsString:=Edit3.Text;
DataModule2.Save1.Params[4].AsString:=Edit4.Text;
DataModule2.Save1.Params[5].AsString:=Edit5.Text;
DataModule2.Save1.Params[6].AsString:=Edit6.Text;
DataModule2.Save1.Params[7].AsBlob:=Memo1.Text;
DataModule2.Save1.Params[8].AsString:=ComboBox2.Text;
DataModule2.Save1.Params[9].AsString:=ComboBox3.Text;
DataModule2.Save1.Params[10].AsString:=ComboBox4.Text;
DataModule2.Save1.Params[11].AsString:=ComboBox7.Text;
DataModule2.Save1.Params[12].AsString:=ComboBox5.Text;
DataModule2.Save1.Params[13].AsString:=ComboBox6.Text;
DataModule2.Save1.Params[14].AsString:=DBText1.Field.AsString;
DataModule2.Save1.Open;

Перед этим выполняется запрос:
SELECT * FROM dbo.Equipment

WHERE
[Equipment UID]=:NewUid or [Device Type] =:NewType or Manufacturer =:NewMan
or [Device Model]= :NewModel or [Device SN] =:NewSn or [Dealers Name]=:NewDeal
or [Video interface]=:Vid or [Audio Interface]=:Aud or [Control Interface]=:Con
or [Sync Interface]=:Sync or [Universal Interface]=:Uni or [Clip Kind]=:NewKind


 
Rat   (2003-08-26 17:31) [8]

Я смотрел таблицу через SQL Entrprise manager после выполнения запроса


 
Rat   (2003-08-26 17:32) [9]

Через ExecSQL тоже пробовал - ничего


 
Reindeer Moss Eater   (2003-08-26 17:32) [10]

Я смотрел таблицу через SQL Entrprise manager после выполнения запроса

То есть смотрел не в той транзакции которая делала Update и не сделала Commit?


 
Rat   (2003-08-26 17:33) [11]

Спасиба! Верно подмечено!


 
Rat   (2003-08-26 17:45) [12]

Подмечено верно,но резкльтата никакого все равно!


 
Reindeer Moss Eater   (2003-08-26 17:46) [13]

[1]


 
Rat   (2003-08-26 18:01) [14]

Пробовал определить эти условия путем присвоения
DataModule2.Save1.Params[14]:="1"
что соответсвует ID=1 - результата нет.


 
Rat   (2003-08-26 18:02) [15]

Сорри DataModule2.Save1.Params[14].AsString я хотел сказать


 
sniknik   (2003-08-26 18:18) [16]

сделай так, для уверенности.
DataModule2.Save1.Params.ParamByName("NewEWUID").asInteger:= 1;


 
Rat   (2003-08-26 18:47) [17]

Спасибо, но не работает.


 
Reindeer Moss Eater   (2003-08-26 18:53) [18]

Выполни свой запрос в SQL Analyzer"e и убедись наконец, что он говорит тебе: "столько-то rows affected"
А уж потом будем разговаривать.


 
ZrenBy   (2003-08-26 18:55) [19]

Хм.

Попробуй первой строчкой в запросе поставить

set nocount on

а последней

select RC = @@rowcount

квери сделай Open и посмотри что вернуло


 
Rat   (2003-08-26 19:13) [20]

Через Analiser все работает но так нет...


 
Reindeer Moss Eater   (2003-08-26 19:15) [21]

Подмечено верно,но резкльтата никакого все равно!

Так ты коммит-то сделал или куда?


 
MOA   (2003-08-26 19:16) [22]

Посмотрите SQL Profiler, какой запрос попадает на сервер - думается, ситация сразу проясниться.
Удачи!


 
Rat   (2003-08-26 19:24) [23]

Commit сделал - ничего


 
Reindeer Moss Eater   (2003-08-26 19:24) [24]

Если все что ты говоришь - правда, то тебе надо менять все микросхемы на компьютере.


 
Rat   (2003-08-26 19:28) [25]

Не работает только с параметрами
Если указать вместо параметров значения какие нить, то тогда все работает, а если присваивать параметрам значения из например ComboBox то нет.


 
ZrenBy   (2003-08-26 19:30) [26]

>>Rat (26.08.03 19:28) [25]

Очень дельный совет - MOA © (26.08.03 19:16) [22]


 
Reindeer Moss Eater   (2003-08-26 19:33) [27]

Если указать вместо параметров значения какие нить, то тогда все работает, а если присваивать параметрам значения из например ComboBox то нет.

For the millionth and the last time .... /Елвис/
Тебе же говорят, что условие WHERE не выполняется!


 
Rat   (2003-08-26 19:43) [28]

For the millionth and the last time
Все таки прав ты был дружищще - не выполняется
Тогда если не трудно подскажи каким образом из результатов выполнения запроса вырвать все таки содержание одной ячейки
найденного поля?



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

Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.023 c
6-58797
Vorobyev Sergey
2003-07-08 14:21
2003.09.18
Сокеты. Широковещательный. Broadcast. Отправка данных


3-58571
Dynamit
2003-08-27 11:48
2003.09.18
Очень быстро заканчивается память!!!!


14-58851
Rouse_
2003-08-31 04:17
2003.09.18
Лог загрузки одной фотографии


3-58599
Sheng
2003-08-25 19:24
2003.09.18
Всё тот же SQL


4-58979
DimaS
2003-07-17 13:42
2003.09.18
Как проинсталлировав файл шрифта, затем что то им написать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский