#include "ap_pbib.h"
#pragma code ("odbc32.dll")
#include "sql.h"
void Get_SiloMap()
{
extern int CMax;
extern char DSNR[MAX_DM_DSN_NAME+2];
SQLHENV hEnv;
SQLHDBC hDBC;
SQLHSTMT hStmt;
RETCODE retCode;
SQLCHAR SQLState[128],SQLMsg[256];
SDWORD FAR* SQLErrorCode;
char tag[128],sql[256];
SQLDOUBLE KOL;
SQLINTEGER id,code,active;
SQLSCHAR name[51],tank[51];
SDWORD _id,_code,_active,_tank,_KOL;
int i;
if (ODBC_Connect(DSNR,&hEnv,&hDBC,&hStmt))
{
sprintf(sql,"select * from \"UA#SiloMap\"");
retCode=SQLExecDirect(hStmt,(SQLCHAR*)sql,SQL_NTS);
if (retCode==SQL_SUCCESS||retCode==SQL_SUCCESS_WITH_INFO)
{
SQLBindCol(hStmt,1,SQL_INTEGER,&id,0,&_id);
SQLBindCol(hStmt,2,SQL_INTEGER,&code,0,&_code);
SQLBindCol(hStmt,3,SQL_INTEGER,&active,0,&_active);
SQLBindCol(hStmt,4,SQL_CHAR,tank,51,&_tank);
SQLBindCol(hStmt,6,SQL_DOUBLE,&KOL,0,&_KOL);
while (TRUE)
{
retCode=SQLFetch(hStmt);
if (retCode==SQL_SUCCESS||retCode==SQL_SUCCESS_WITH_INFO)
{
//Transfer to local tags
sprintf(tag,"S_Code_%d",id);
SetTagSDWord(tag,code);
sprintf(name,"");
if (code>0)
{
sprintf(sql,"select Name from \"UA#RawMaterials\" where Code=%ld",code);
Get_Name(name,DSNR,sql);
}
sprintf(tag,"S_Name_%d",id);
SetTagChar(tag,name);
sprintf(tag,"S_Active_%d",id);
SetTagBit(tag,active);
sprintf(tag,"S_Name_Tank_%d",id);
SetTagChar(tag,tank);
sprintf(tag,"S_Weight_Total_%d",id);
SetTagDouble(tag,KOL);
}
else
{
if (retCode!=SQL_NO_DATA)
printf("!ERROR in SQLFetch()\r\n");
else
printf("!OK in Get_Components(), transfering to local tags\r\n");
break;
}
}//while
}
else
{
SQLError(hEnv,hDBC,hStmt,SQLState,SQLErrorCode,SQLMsg,255,NULL);
printf("!ERROR in SQLExecDirect()\r\n");
printf("\tSQLState: %s\r\n\tSQLErrorCode: %i\r\n\tSQLMsg: %s\r\n",(CHAR*)SQLState,&SQLErrorCode,(CHAR*)SQLMsg);
}
SQLFreeStmt(hStmt,SQL_CLOSE);
}
ODBC_Disconnect(&hEnv,&hDBC,&hStmt);
}
编译错误:无法找到#include文件 "sql.h"
请教大侠这个应该怎么处理!