Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизSQL + функция Format Найти похожие ветки
← →
reticon © (2004-08-03 18:35) [0]Есть запрос, отформатированный по разному с помощью ф-ции Format:
1. Query4.SQL.Add(Format("INSERT INTO iplan_tree VALUES (%d, 0, ""192.168.0.4"")", [4]));
2. Query4.SQL.Add(Format("INSERT INTO iplan_tree VALUES (%d, 0, %s)", [4, "192.168.0.104"]));
Кто-нибудь может мне объяснить, почему первый Query4.SQL.Add выполняется нормально, без ошибок, а второй ну никак не хочет работать и выдает ошибку (SQL Error: ERROR: parser: parse error at or near ".0" at character 52)?
Не пойму я что-то, в чем проблема?
← →
Johnmen © (2004-08-03 23:42) [1]Так делается же макроподстановка строкового ЗНАЧЕНИЯ.
Надо
Query4.SQL.Add(Format("INSERT INTO iplan_tree VALUES (%d, 0, %s)", [4, """192.168.0.104"""]));
или
Query4.SQL.Add(Format("INSERT INTO iplan_tree VALUES (%d, 0, %s)", [4, ""192.168.0.104""]));
← →
reticon © (2004-08-04 10:35) [2]делаю так:
...
addres := ComboBox1.Text;
date1 := DateTimePicker1.Date;
...
Query4.Close;
Query4.SQL.Clear;
Query4.SQL.Add(Format("SELECT * FROM stats WHERE stats.resource_id = (SELECT resource_id FROM iplan_tree WHERE address = %s) and date = %s", [ComboBox1.Text, DateTimePicker1.Date]));
...
та же фигня...
← →
Соловьев © (2004-08-04 10:36) [3]
> Query4.Close;
> Query4.SQL.Clear;
> Query4.SQL.Add(Format("SELECT * FROM stats WHERE stats.resource_id
> = (SELECT resource_id FROM iplan_tree WHERE address = %s)
> and date = %s", [ComboBox1.Text, DateTimePicker1.Date]));
используй параметры
← →
Соловьев © (2004-08-04 10:46) [4]
> date = %s", [ComboBox1.Text, DateTimePicker1.Date]));
или приводи типы. DateToStr(DateTimePicker1.Date)
← →
Плохиш © (2004-08-04 10:52) [5]>reticon © (03.08.04 18:35)
Количество апострофов ни на какие мысли не наводит?
QuotedStr
← →
reticon © (2004-08-04 11:55) [6]Это все понятно... но немного не то.
вот это:
ZQuery4.SQL.Add(Format("SELECT * FROM public.stats WHERE public.stats.resource_id = (SELECT resource_id FROM public.iplan_tree WHERE address = %s) and count = %d", ["""192.168.0.155""", 5977]));
работает, только что проверил.
А как сделать его ДИНАМИЧЕСКИМ?
← →
Соловьев © (2004-08-04 11:57) [7]
> А как сделать его ДИНАМИЧЕСКИМ?
т.е. парамметры? TQuery.Params+F1
или что ты имеешь ввиду под динамическим?
← →
reticon © (2004-08-04 12:22) [8]ну да, параметрический запрос, если это будет работать...
← →
reticon © (2004-08-04 13:09) [9]все, спасибо, разобрался..
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c