Поиск:

Ответ в темуСоздание новой темы Создание опроса
> большой sql запрос 
V
    Опции темы
Diiana
Дата 22.1.2012, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



добрый день.строка sql запроса больше 1024 символа,возникнет переполнение буфера,как обойти эту проблему?
Код

CString        sDSN_MainDatabase,sDsn;
CDatabase    Database_MainDatabase;
SQLHSTMT    hstmt_int;
SQLRETURN    retcode_int;
TCHAR        SQL_Mainbase[10240];

    
Database_MainDatabase.OpenEx("ODBC;DRIVER={SQL Server};DSN=DBase;UID=sa;PWD=server", CDatabase::noOdbcDialog);
wsprintf(SQL_Mainbase,"INSERT INTO Table (ID,Name,BTime,FTime,ST,SP,N1D,S1D,N2D,S2D,N3D,S3D,N4D,S4D,N5D,S5D,N6D,S6D,N2
1D,S21D,N25D,S25D,N26D,S26D,N27D,S27D,N28D,S28D,N29D,S29D,N30D,S30D,NDG3,SDG3,NDG
4,SDG4,N31D,S31D,N33D,S33D,N34D,S34D,N36D,S36D,N38D,S38D,N9_10D,S9_10D,NDG5,SDG5,
MPF)VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');",ID,NAME,BTIME,ETIME,TOT,POV,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D1
9,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D30,D31,D32,D33,D34,D35,D36,D37,D38,D39
,D40,D41,D42,D43,D44,D45,D46,D47,D48,D49,D50,D51);
    
SQLAllocHandle(SQL_HANDLE_STMT, Database_MainDatabase.m_hdbc, &hstmt_int);
SQLPrepare(hstmt_int, (SQLCHAR*)SQL_Mainbase, SQL_NTS);
retcode_int = SQLExecute(hstmt_int);
Database_MainDatabase.Close();

PM MAIL   Вверх
dix75
Дата 1.3.2012, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 462
Регистрация: 17.7.2007

Репутация: нет
Всего: 1



1. Нормализовать базу.
2. В несколько инсертов.
3. И как логичное завершение увеличить буфер


--------------------
save your mind
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.