Запрос К Sql Базе

  • Автор темы Diana
  • Дата начала
D

Diana

добрый день.строка sql запроса больше 1024 символа,возникнет переполнение буфера,как обойти эту проблему?
C++:
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();
 
L

lazybiz

Ты используешь wsprintf, но передаешь ей обычную строку. Используй sprintf.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!