// EGDatabase.h #pragma once /* 在VC++2005编译.cpp文件中使用using namespace std;后编译提示: “std”: 具有该名称的命名空间不存在是未包含iostream文件导致的!*/ #include <iostream> #include "stdio.h" #include <string.h> #include <assert.h> using namespace std; #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename ("EOF", "adoEOF") class EGSQLStatement{ public: EGSQLStatement() { } // index从1开始算 inline void SetString(int index, string str) { index--; assert(index>=0 && index<MAX_PLACE_HOLDER); placeHolder[index].type = EG_STRING; placeHolder[index].value.stringData = str; } // index从1开始算 inline void SetInt(int index, int interger) { index--; assert(index>=0 && index<MAX_PLACE_HOLDER); placeHolder[index].type = EG_INT; placeHolder[index].value.intData = interger; } inline EGSQLStatement& operator = (string str) { sqlString = str; return *this; } inline string GetStdString() { return sqlString; } string GetStdSQL(); private: const static int MAX_PLACE_HOLDER = 64; enum FieldType { EG_INT, EG_STRING, }; struct FieldValue { int intData; string stringData; }; struct Placeholder { FieldType type; FieldValue value; }; Placeholder placeHolder[MAX_PLACE_HOLDER]; // 最多可使用64个占位符 string sqlString; }; class EGResultSet { public: int GetFieldIntByName(string fieldName) { _variant_t result = pRecordset->GetCollect((_bstr_t)fieldName.