ableID);//获取iTableID
if (err!=JET_errSuccess)
{
return err;
}
//以下获取列的ID: iColumnId
JET_COLUMNDEF columnInfo = {};
columnInfo.cbStruct = sizeof(columnInfo);
err=JetGetColumnInfo(sessionID, dbID, "esenttable", "name", &columnInfo, columnInfo.cbStruct, JET_ColInfo);
if (err!=JET_errSuccess)
{
return err;
}
iColumnId[0] = columnInfo.columnid;//获取iColumnId
ZeroMemory(&columnInfo,sizeof(columnInfo));
columnInfo.cbStruct = sizeof(columnInfo);
err=JetGetColumnInfo(sessionID, dbID, "esenttable", "age", &columnInfo, columnInfo.cbStruct, JET_ColInfo);
if (err!=JET_errSuccess)
{
return err;
}
iColumnId[1] = columnInfo.columnid;//获取iColumnId
char buffer[1024] = { 0 };
int iLen = sizeof(buffer);
int age=-1;
unsigned long nReadBytes=0;
for(err = JetMove(sessionID, iTableID, JET_MoveFirst, 0);JET_errSuccess == err;err = JetMove(sessionID, iTableID, JET_MoveNext, 0))
{
err = JetRetrieveColumn(sessionID, iTableID, iColumnId[0], buffer, 1024, &nReadBytes, 0, 0);
if (nReadBytes >= 1024)
{
JetCloseTable(sessionID, iTableID);
}
cout<<"name "<
age = -1;
unsigned long nReadBytes = 0;
err = JetRetrieveColumn(sessionID, iTableID, iColumnId[1], &age, sizeof(age), &nReadBytes, 0, 0);
if (JET_errSuccess != err)
{
JetCloseTable(sessionID, iTableID);
}
cout<<",age "< }
return 0;
}
JET_ERR OpenDatabase(JET_SESID& sessionID, char* strDBPath,JET_DBID& dbID)
{
JET_ERR err = JetAttachDatabase(sessionID, strDBPath, 0);
if (JET_errSuccess != err)
{
return err;
}
err = JetOpenDatabase(sessionID, strDBPath, 0, &dbID, 0);
if (JET_errSuccess != err)
{
JetDetachDatabase(sessionID, strDBPath);
return err;
}
return err;
} www.2cto.com
JET_ERR CloseDatabase(JET_SESID& sessionID, JET_DBID& dbID,char* strDBPath)
{
JET_ERR err = JetCloseDatabase(sessionID, dbID,0);
err = JetDetachDatabase(sessionID, strDBPath);
JetEndSession(sessionID,0);
return err;
}
JET_ERR CreateDatabaseAndTable(JET_SESID& sessionID, char* strDBPath,JET_DBID& dbID)
{
JET_ERR err = JetCreateDatabase(sessionID, strDBPath, 0, &dbID, 0);
if (err==JET_errSuccess)//如果创建数据库成功就创建表
{
JET_COLUMNCREATE columnCreate[3] = {};
columnCreate[0].cbStruct = sizeof(JET_COLUMNCREATE);//结构长度
columnCreate[0].szColumnName = "index";//列名
columnCreate[0].coltyp = JET_coltypLong;//列类型
columnCreate[0].grbit = JET_bitColumnAutoincrement;//列属性,此处为自增
columnCreate[0].err = JET_errSuccess;
columnCreate[1].cbStruct = sizeof(JET_COLUMNCREATE);//结构长度
columnCreate[1].szColumnName = "name";//列名
columnCreate[1].coltyp = JET_coltypLongText;//列类型
columnCreate[1].cbMax = 32;//列长度
columnCreate[1].grbit = JET_bitColumnTagged;
columnCreate[1].cp = 1200;//Unicode:1200;English:1252。传0时使用默认的1252。
columnCreate[1].err = JET_errSuccess;
columnCreate[2].cbStruct = sizeof(JET_COLUMNCREATE);//结构长度
columnCreate[2].szColumnName = "age";//列名
columnCreate[2].coltyp = JET_coltypLong;//列类型
columnCreate[2].grbit = 0;//列属性,此处为自增
columnCreate[2].err = JET_er