Название: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 24, 2007, 18:11 Сначала код
Код: QSqlQuery* qsqQuery=new QSqlQuery(); Во втором - INSERT INTO table (ID) VALUE (?); Как получить реальную кверю? Т.е. INSERT INTO table (ID) VALUE (10); Название: Re: Как узнать реальную sql-строку? Отправлено: Вячеслав от Сентябрь 24, 2007, 19:22 Реальная вторая ;) Щаз никто из нормальных серверов параметры в запросе не гогняет(если явно bind указан)
Таки если хош plaintext Qstring(" insert into xxxx values(%1,%2 %3)").arg().arg().arg() Но забодаешься с ескейпингом строк и даты :( Название: Re: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 24, 2007, 20:03 Млин. У меня просто что-то глючит и запросом, а что не просеку никак. В птице пытаюсь добавить строку, где первое поле через генератор, а он не срабатывает и строка добавляется с нулевым номером, при втором добавлении орёт что такой номер уже есть.
Ну, всё равно спасибо. Название: Re: Как узнать реальную sql-строку? Отправлено: Вячеслав от Сентябрь 24, 2007, 20:15 Млин. У меня просто что-то глючит и запросом, а что не просеку никак. В птице пытаюсь добавить строку, где первое поле через генератор, а он не срабатывает и строка добавляется с нулевым номером, при втором добавлении орёт что такой номер уже есть. Ну, всё равно спасибо. 1) Для птица есть чудная конструкция insert returning .... Но в qt она не работает :( 2) как добавляешь - код покажи 3) Вариант тригер на поле повесить ? Это чтоб нула небыло ? 4) SP сгородить ? Ы ? Название: Re: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 24, 2007, 20:22 2. Код очень большой и не красивый. Завтра почишю и выложу.
4. А что это? Название: Re: Как узнать реальную sql-строку? Отправлено: Tonal от Сентябрь 24, 2007, 20:41 SP - Сохранённая процедура
Процедура на сервере, которая вставит запись и вернёт тебе ID. IBExpert умеет такие генерить по таблице. Название: Re: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 26, 2007, 11:33 Разобрался. Просто я указывал генератор в bindValue, а так, наверное, нельзя делать. Прописал генератор наглухо в запросе и все пошло.
Название: Re: Как узнать реальную sql-строку? Отправлено: Вячеслав от Сентябрь 26, 2007, 12:58 Разобрался. Просто я указывал генератор в bindValue, а так, наверное, нельзя делать. Прописал генератор наглухо в запросе и все пошло. IHMO лучшее его(генератор) из тригера звать ;) А явно Id в запросе указывать для разных специальных вещей ;) YНазвание: Re: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 26, 2007, 18:12 Можно пример как правильно делать?
И еще вопрос: Есть таблица с блоб полем (которое я выставил как text), база создана с настройкой на ютф8. Как правильно записать в блоб поле QStringList? Сейчас делал так: qsqQuery->bindValue(":textpole",qsqList->join("\n")); - записывается не в ютф кодировке qsqQuery->bindValue(":textpole",qsqList->join("\n").toUtf8()); - при считывании приходится извращаться с fromUtf8(). Так и нужно или я неверно подхожу? Название: Re: Как узнать реальную sql-строку? Отправлено: Tonal от Сентябрь 26, 2007, 19:43 Код: CREATE TRIGGER DOC_STATUS_BI FOR DOC_STATUS Название: Re: Как узнать реальную sql-строку? Отправлено: Пантер от Сентябрь 27, 2007, 11:38 Охренеть... Как много я еще не знаю. :(
|