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

Вниз

Как всегда SQL :(   Найти похожие ветки 

 
Washington ©   (2008-01-12 11:11) [0]

Запрос:
OldData:=DateToStr(MonthCalendar1.Date);
OldPlan:=Label1.Caption;
Data:=DateEdit.Text;
Plan:=PlanEdit.Text;
with ADOQuery1 do
begin
 close;
 SQL.Clear;
 SQL.Add("Update Plans");
 SQL.Add("Set Plan=:pPlan and Data=:pData");
 SQL.Add("Where Plan=:pOldPlan and Data=:pOldData");
 Parameters.ParseSQL(SQL.Text,true);
 Prepared:=true;
 Parameters.ParamValues["pPlan"]:=Plan;
 Parameters.ParamValues["pData"]:=Data;
 Parameters.ParamValues["pOldPlan"]:=OldPlan;
 Parameters.ParamValues["pOldData"]:=OldData;
 ExecSQL;
end;

В поле PlanEdit пишу одно, в результате в таблице Plans в поле Plan записывается -1. Уже все перепровел, что можно было, в чём может быть ошибка? Подскажите плз.


 
engine ©   (2008-01-12 11:52) [1]

> OldData:=DateToStr(MonthCalendar1.Date);
> OldPlan:=Label1.Caption;
> Data:=DateEdit.Text;
> Plan:=PlanEdit.Text;
> with ADOQuery1 do
> begin
> close;
> SQL.Clear;
> SQL.Add("Update Plans");
> SQL.Add("Set Plan=:pPlan and Data=:pData");
> SQL.Add("Where Plan=:pOldPlan and Data=:pOldData");
> Parameters.ParseSQL(SQL.Text,true);
> Prepared:=true;
> Parameters.ParamValues["pPlan"]:=Plan;
> Parameters.ParamValues["pData"]:=Data;
> Parameters.ParamValues["pOldPlan"]:=OldPlan;
> Parameters.ParamValues["pOldData"]:=OldData;
> ExecSQL;
> end;


Лишние переменные втопку.
SQL.Clear — втопку;
SQL.Add — втопку;
Если вид запроса не меняется, то SQL.Text присваиваем где нибудь вначале а заодно и  Prepare, иначе, делаем как показано ниже:

with ADOQuery1 do begin
 Close;
 SQL.Text := "Update Plans Set Plan=:pPlan and Data=:pData Where Plan=:pOldPlan and Data=:pOldData";
 Parameters.ParamValues["pPlan"]:=PlanEdit.Text;
 Parameters.ParamValues["pData"]:=DateEdit.Text;
 Parameters.ParamValues["pOldPlan"]:=Label1.Caption;
 Parameters.ParamValues["pOldData"]:=DateToStr(MonthCalendar1.Date);;
 ExecSQL;
end;


 
Washington ©   (2008-01-12 11:59) [2]

сделал - та же фигня.


 
engine ©   (2008-01-12 12:12) [3]

> [2] Washington ©   (12.01.08 11:59)

какой тип у поля Plan?
Поставь breakpoint и посмотри значения присваеваемые параметрам.


 
Washington ©   (2008-01-12 12:19) [4]

Тип поля план - text


 
Washington ©   (2008-01-12 12:20) [5]

если сделать запрос select с теми же параметрами, результат нормальный, именно update тупит


 
engine ©   (2008-01-12 12:21) [6]

> [4] Washington ©   (12.01.08 12:19)

Попробуй перед ExecSqL написать:
ShowMessage(Parameters.ParamValues["pPlan"]);


 
engine ©   (2008-01-12 12:22) [7]

> [5] Washington ©   (12.01.08 12:20)

Это как??? Непонял


 
sniknik ©   (2008-01-12 12:27) [8]

> SQL.Clear — втопку;
> SQL.Add — втопку;
ADOQuery1 — втопку;

> Если вид запроса не меняется, то SQL.Text присваиваем где нибудь вначале а заодно и  Prepare, иначе, делаем как показано ниже:
вообщето он и здесь не меняется, значения параметров изменяются, запрос нет, т.е. это не "иначе", это, если запрос часто используемый именно и нужно присвоить гденибудь вначале (в десигн) и выполнять после по мере необходимости.

> DateToStr(MonthCalendar1.Date);;
— втопку;

> сделал - та же фигня.
учи SQL, у тебя глюк в присвоении


 
engine ©   (2008-01-12 12:35) [9]

> вообщето он и здесь не меняется, значения параметров изменяются,
> запрос нет, т.е. это не «иначе», это, если запрос часто
> используемый именно и нужно присвоить гденибудь вначале
> (в десигн) и выполнять после по мере необходимости.

Ну я впринципе тоже самое и имел ввиду

> учи SQL, у тебя глюк в присвоении


вот ведь, а я и не приметил ))


 
Washington ©   (2008-01-12 13:13) [10]

Забейте, сделал по другому:
удалил старую запись, вставил новую. Всё ОК )



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1200053220
Yasha
2008-01-11 15:07
2008.02.03
Windows form application в RAD 2007


15-1198671211
Alkid
2007-12-26 15:13
2008.02.03
Фрактальная размерность множества


4-1182876317
Malik
2007-06-26 20:45
2008.02.03
Вопрос про TreeView


15-1198361045
linkomizin
2007-12-23 01:04
2008.02.03
нужно к 24.12.07..


1-1193313819
Кристалл-эл
2007-10-25 16:03
2008.02.03
Господа, подскажите, как сделать "глобальные гор. клавиши"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский