Здравствуйте, Аноним, Вы писали:
А>когда доходит до спринтфа, то вылетает в дебагер.
и что в Debug-e вылетает и никаких окошек и сообщений в Output нету?
Re[2]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
08.03.07 16:35
Оценка:
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Аноним, Вы писали:
А>>когда доходит до спринтфа, то вылетает в дебагер.
OE>и что в Debug-e вылетает и никаких окошек и сообщений в Output нету?
Здравствуйте, Аноним, Вы писали:
А>Expression: ("Buffer too small", 0)
ну, на то он и sprintf_s чтоб вылетать когда Buffer too small Не хватает тебе 1024
Re[4]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
08.03.07 17:02
Оценка:
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, Аноним, Вы писали:
А>>Expression: ("Buffer too small", 0)
OE>ну, на то он и sprintf_s чтоб вылетать когда Buffer too small Не хватает тебе 1024
где мне увеличивать? в самом спринтфе или в переменной?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
08.03.07 18:03
Оценка:
Здравствуйте, ., Вы писали:
.>Аноним wrote:
>> sprintf_s(sql, 1024, "SELECT id FROM indexed WHERE url='%s'", svUrl); .>НИКОГДА, НИГДЕ не пиши такие запросы. Только через bind параметров!! .>Для pure C http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-execute.html
что за бинд? пример покажы. и чем тебе не нравиться такой способ построения строки запроса?
Здравствуйте, Аноним, Вы писали:
>>> sprintf_s(sql, 1024, "SELECT id FROM indexed WHERE url='%s'", svUrl); .>>НИКОГДА, НИГДЕ не пиши такие запросы. Только через bind параметров!! .>>Для pure C http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-execute.html
А>что за бинд? пример покажы. и чем тебе не нравиться такой способ построения строки запроса?
На примере Web. Пусть у тебя есть скрипт для изменения данных юзеров:
Аноним wrote:
> что за бинд? пример покажы.
Я ж дал ссылку, там всё есть. http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-execute.html
> и чем тебе не нравиться такой способ > построения строки запроса?
Так нельзя, не только главным образом с т.з. безопасности, а также с т.з. производительности, наличием ограничений на
длину текста запроса и невозможностью передавать таким образом некоторые типы данных (blob обычно).
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
там написано кучу всякой дряни на ненужные мне фун-ции
мне надо токо само формирование запроса
>> и чем тебе не нравиться такой способ >> построения строки запроса? .>Так нельзя, не только главным образом с т.з. безопасности, а также с т.з. производительности, наличием ограничений на .>длину текста запроса и невозможностью передавать таким образом некоторые типы данных (blob обычно).
а мне всякие блобы и не нужны. это не ISAPI модуль. это индексатор для поисковика. эму надо только занести пару текстовых полей в базу
и тем более в этих доках нету формирования запроса в программе. там все записано в define дериктивах. а мне такое не надо. мне самому для каждого урла надо сделать запрос. а тут без функций обработки строк не обойтись. а в бинды уже вставляються готовые строки
Аноним wrote:
> и тем более в этих доках нету формирования запроса в программе. там все
Есть.
> записано в define дериктивах. а мне такое не надо. мне самому для
Ты должен сделать также!
> каждого урла надо сделать запрос. а тут без функций обработки строк не > обойтись. а в бинды уже вставляються готовые строки
Нет. Разберись что означет знак "?" в запросах.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
08.03.07 18:57
Оценка:
Здравствуйте, ., Вы писали:
.>Аноним wrote:
>> и тем более в этих доках нету формирования запроса в программе. там все .>Есть.
>> записано в define дериктивах. а мне такое не надо. мне самому для .>Ты должен сделать также!
>> каждого урла надо сделать запрос. а тут без функций обработки строк не >> обойтись. а в бинды уже вставляються готовые строки .>Нет. Разберись что означет знак "?" в запросах.
ну ты можешь написать пример создания строки запроса без всяких mysql_stmt_* функций и прочей лабуды?
мне надо просто создать строку запроса и стравить ее mysql_query();
Re[6]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
08.03.07 19:14
Оценка:
Здравствуйте, ., Вы писали:
.>Аноним wrote:
>> записано в define дериктивах. а мне такое не надо. мне самому для .>Ты должен сделать также!
а как я туда впишу нужные мне урлы и тексты? они же не статические. каждый раз при вызове функции ей травятся разные данные!
Здравствуйте, <Аноним>, Вы писали:
А>>>Expression: ("Buffer too small", 0) OE>>ну, на то он и sprintf_s чтоб вылетать когда Buffer too small Не хватает тебе 1024 А>где мне увеличивать? в самом спринтфе или в переменной?
ты не сказал на каком sprintf_s вылетает. Но вообщем тут одно из двух, либо у тебя действительно svUrl или svUrlPage больше 1000 и тогда надо увеличивать sql, либо в svUrl или svUrlPage вместо правильных коротких строк приходит какой-то мусор, иди под отладчиком по шагам и смотри что там на самом деле в твоих строках
Аноним wrote:
> ну ты можешь написать пример создания строки запроса без всяких > mysql_stmt_* функций и прочей лабуды?
Тебе нужно пользоваться этой лабудой.
> мне надо просто создать строку запроса и стравить ее mysql_query();
В mysql_query можно передавать запросы только такие, текст которых не меняется.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Аноним wrote:
> а как я туда впишу нужные мне урлы и тексты? они же не статические. > каждый раз при вызове функции ей травятся разные данные!
РАЗБЕРИСЬ с кодом что я тебе дал. Там урлы не вписываются в запрос, а передаются байндом как данные запроса, а не текст.
Посмотри для каких запросов в том коде используется mysql_query и посмотри как запросе "INSERT INTO" передаются данные.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: при выполнении sprintf_s прога вылетает
От:
Аноним
Дата:
09.03.07 13:26
Оценка:
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, <Аноним>, Вы писали:
А>>все. я вдуплил надо писать так: А>>sprintf_s(sql, 1024, "SELECT id FROM indexed WHERE url='%s'", (char **) svUrl);
OE>если перед этим все еще написано
OE>
Аноним wrote:
> OE>то (char **) svUrl это бред. > > тут надо смотреть еще _как_ вызываеться функция. что ей травиться. и > когда я пишу (char **) svUrl — то все работает
Всё равно бред.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, ., Вы писали:
.>Аноним wrote:
>> OE>то (char **) svUrl это бред. >> >> тут надо смотреть еще _как_ вызываеться функция. что ей травиться. и >> когда я пишу (char **) svUrl — то все работает .>Всё равно бред.
это не бред. просто так требует функция, из-за того что при ее вызове ей тоже передается указатель.
sprintf_s(svTime, 12, "%02d.%02d.%02d", sysTime.wDay, sysTime.wMonth, sysTime.wYear);
sprintf_s(this->sql, 20048, "SELECT id FROM indexed WHERE url='?'");
nemaga wrote:
> sprintf_s(svTime, 12, "%02d.%02d.%02d", sysTime.wDay, sysTime.wMonth, > sysTime.wYear);
А зачем даты в строку превращать? В mysql есть тип для дат и функция получения текущего времени тоже (эффективнее
хранение, обработка, больше возможностей для поиска и индексации и т.п.). Мало того, зачем
2 цифры для года используешь? Ты слишком молод, чтобы помнить y2k проблемы?
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай