|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
Ребята, кто-нибудь когда-нибудь запускал процедуру SQL из С++. Вот что я делаю: strftime ( buf, 128, "%Y%m%d %H:%M:%S", localtime(&tm) ); CDatabase db; db.OpenEx("DSN=ИмяДСН;UID=ИмяДСН;PWD=пароль", CDatabase::noOdbcDialog); sprintf(sql, "TestProc '%s'", buf); db.ExecuteSQL (sql); Процедура называется TestProc (простая вставка записи). вылетает на строке sprintf(sql, "TestProc '%s'", buf); Если кто знает, подскажите. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2002, 13:50 |
|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
Попробуй посмотреть что у тебя в переменной SQL. Помоему что-то с кавычками ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2002, 14:03 |
|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
Вот эта строка. sprintf ( sql , " TestProc ' %s ' " , buf ) ; Вроде все кавычки на месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2002, 16:14 |
|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
А под sql память выделена? И в достаточном количестве? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2002, 08:05 |
|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
Мне стыдно признаться, но насчет памяти я незнаю. Я только-только начал изучать С++. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2002, 08:58 |
|
Запуск процедуры SQL из С++
|
|||
---|---|---|---|
#18+
Сначала надо определить длинну для sql что бы при выполнении sprintf ты не вылез за границы памяти отведенной для sql. можно примерно оценить размер strlen("TestProc ' ' ")<15+strlen(buf)<30 итого в 45 знаков ты уложишься. и тогда char sql[45]; sprintf(sql," TestProc ' %s '",buf); можно динамически выделить память, только ее надо потом ОБЯЗАТЕЛЬНО освободить. char* sql; sql=malloc(14+strlen(buf)); //см примечание if (sql==NULL) { //обрабатываешь ситуацию когда память не выделена } else { sprintf(sql," TestProc ' %s '",buf); } Примечание вместо malloc обычно используют оператор new, хотя сам new в конечном счете все равно использует malloc или __dbg_malloc() имя второго точно непомню при этом в _DEBUG build после того как прога отработает в окошке Debug показываются утечки памяти если таковы были. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2002, 14:42 |
|
|
start [/forum/topic.php?fid=57&tid=2036509]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 163ms |
0 / 0 |