Hej
Jeg er i gang med at lave et lille program i C++ som skal trække data udfra
en MS SQL server via SQL Server ODBC. Jeg benytter mig af MFC.
Mit problem er at jeg får en fejlmeddelelse som jeg ikke kan se mig ud af.
Det skal lige siges at så snart jeg laver projektet som "console
application" forsvinder problemet.
Jeg får disse fejl:
c:\programmer\microsoft visual studio\vc98\include\sqltypes.h(113) : error
C2146: syntax error : missing ';' before identifier 'SQLHWND'
c:\programmer\microsoft visual studio\vc98\include\sqltypes.h(113) : fatal
error C1004: unexpected end of file found
Jeg ved at det har noget at gøre med windows.h, men når jeg arbejder med MFC
må jeg jo ikke inkludere denne.
Er der nogen derude der kan hjælpe mig? Koden er nederst på siden.
MVH
Lasse Kjærsgaard
//dbu.cpp filen kommer her
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include "afxwin.h"
#include <odbcss.h>
#include "DBU.h"
DBU::DBU()
{
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
SQLHSTMT forening = SQL_NULL_HSTMT;
SQLHSTMT hjemkamp = SQL_NULL_HSTMT;
UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "DBU",
szUID[6] = "xxxxx",
szAuthStr[6] = "xxxxx";
// Allocate the ODBC Environment andu save handle.
retcode = SQLAllocHandle (SQL_HANDLE_ENV, NULL, &henv);
// Notify ODBC that this is an ODBC 3.0 application.
retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,
(SQLPOINTER)SQL_OV_ODBC3,
SQL_IS_INTEGER);
// Allocate an ODBC connection handle and connect.
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);
//retcode = SQLConnect(hdbc1, szDSN, 3, szUID, 7, szAuthStr, 8);
retcode = SQLConnect(hdbc1, (UCHAR*)"DBU", SQL_NTS, (UCHAR*)"xxxxxx",
SQL_NTS, (UCHAR*)"xxxxxx", SQL_NTS);
if ( (retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO))
{
// Connect failed, call SQLGetDiagRec for errors.
MessageBox("lort", "");
}
else
{
// Connects to SQL Server always return
// informational messages. These messages can be
// retrieved by calling SQLGetDiagRec.
MessageBox("ok","");
}
// Allocate statement handles and do ODBC processing.
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &forening);
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hjemkamp);
/* Clean up. */
SQLDisconnect(hdbc1);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
SQLFreeHandle(SQL_HANDLE_STMT, forening);
SQLFreeHandle(SQL_HANDLE_STMT, hjemkamp);
}
//dbu.h filen kommer her
class DBU
{
SQLINTEGER test;
SQLINTEGER test2;
SQLINTEGER test3;
RETCODE retcode;
DBU();
void andenForening(SQLHSTMT forening);
void hjemmekamp(SQLHSTMT hjemmekamp);
void udekamp(SQLHSTMT udekamp);
};
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com).
Version: 6.0.391 / Virus Database: 222 - Release Date: 19-09-2002