设为首页 加入收藏

TOP

教你使用微软小型数据库esent(二)
2014-11-24 07:14:01 】 浏览:8784
Tags:使用 微软 小型 数据库 esent
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

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇GreenPlum DBA常用SQL 下一篇介绍几种sql*plus常用的命令

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目