⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgrbaseclient.cpp

📁 1)安装sp2补丁. 2)安装中文语言包. 3)关闭除系统盘除外的系统还原 4)控制面板->区域和语言选项->区域选项 选择中国,位置:选择中国.高级选项卡 非unicode程序的语
💻 CPP
📖 第 1 页 / 共 5 页
字号:

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&olddata,FALSE);
	arg.SetItemNetTable(3,&newdata,FALSE);

	if(Call("mgrbaseif_TableMutexUpdate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;

}

superint_ut   MGRBaseClient::TableCountRow(LPCSTR dbname,LPCSTR tblname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableCountRow",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return FALSE;
}

superint_ut MGRBaseClient::TableGetRowid(LPCSTR dbname,LPCSTR tblname,superint_ut i)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,i);

	if(Call("mgrbaseif_TableGetRowid",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return FALSE;

}

BOOL  MGRBaseClient::TableGetRowidEx(LPCSTR dbname,LPCSTR tblname,superint_ut start,int num,NetTable *rowid)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,start);
	arg.SetItemLong(3,num);

	if(Call("mgrbaseif_TableGetRowidEx",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);

			rowid->Clear();
			p->CopyTo(rowid);
			return TRUE;
		}

	}

	return FALSE;
}

BOOL  MGRBaseClient::TableGetNextRowid(LPCSTR dbname,LPCSTR tblname,superint_ut rowid,int num,NetTable *rowids)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,rowid);
	arg.SetItemLong(3,num);

	if(Call("mgrbaseif_TableGetRowid",NULL,&arg,&res))
	{
		p=res.GetItemNetTable(0);

		rowids->Clear();
		p->CopyTo(rowids);
		return TRUE;

	}

	return FALSE;
}

int   MGRBaseClient::TableCountIndex(LPCSTR dbname,LPCSTR tblname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableCountIndex",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

superint_ut MGRBaseClient::TableGetSpace(LPCSTR dbname,LPCSTR tblname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableGetSpace",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

int   MGRBaseClient::FindTableId(LPCSTR dbname,LPCSTR tblname)
{

	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_FindTableId",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

int   MGRBaseClient::TableReadLongBinary(LPCSTR dbname,LPCSTR tblname,superint_ut rowid,LPCSTR colname,superint_ut start,BYTE *buf,int buflen)
{
	NetDataTuple arg,res;
	BYTE *p;
	int size;

	arg.AddItems(6);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,rowid);
	arg.SetItemString(3,colname);
	arg.SetItemSuperLong(4,start);
	arg.SetItemLong(5,buflen);


	if(Call("mgrbaseif_TableReadLongBinary",NULL,&arg,&res))
	{
		p=res.GetItemBinary(0,&size);
		memcpy(buf,p,size);
		return size;

	}

	return 0;
}

int   MGRBaseClient::TableWriteLongBinary(LPCSTR dbname,LPCSTR tblname,superint_ut rowid,LPCSTR colname,superint_ut start,BYTE *buf,int buflen)
{
	NetDataTuple arg,res;

	arg.AddItems(6);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,rowid);
	arg.SetItemString(3,colname);
	arg.SetItemSuperLong(4,start);
	arg.SetItemBinary(5,buf,buflen);


	if(Call("mgrbaseif_TableWriteLongBinary",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

superint_ut   MGRBaseClient::TableGetLongBinaryLength(LPCSTR dbname,LPCSTR tblname,superint_ut rowid,LPCSTR colname)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,rowid);
	arg.SetItemString(3,colname);


	if(Call("mgrbaseif_TableGetLongBinaryLength",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}


BOOL  MGRBaseClient::IndexCreate(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname,BOOL bunique,LPCSTR keydef)
{
	NetDataTuple arg,res;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);
	arg.SetItemLong(3,bunique);
	arg.SetItemString(4,keydef);


	if(Call("mgrbaseif_IndexCreate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexCreateEx(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname,BOOL bunique,LPCSTR keydef,BOOL bForce)
{
	NetDataTuple arg,res;

	arg.AddItems(6);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);
	arg.SetItemLong(3,bunique);
	arg.SetItemString(4,keydef);
	arg.SetItemLong(5,bForce);


	if(Call("mgrbaseif_IndexCreateEx",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexRename(LPCSTR dbname,LPCSTR tblname,LPCSTR oldidxname,LPCSTR newidxname)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,oldidxname);
	arg.SetItemString(3,newidxname);


	if(Call("mgrbaseif_IndexRename",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexDrop(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);


	if(Call("mgrbaseif_IndexDrop",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexIsExist(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);


	if(Call("mgrbaseif_IndexIsExist",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexList(LPCSTR dbname,LPCSTR tblname,NetTable *idxlist)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);


	if(Call("mgrbaseif_IndexList",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(idxlist);

			return TRUE;
		}

	}

	return FALSE;
}

BOOL  MGRBaseClient::IndexGetDef(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname,BOOL *bunique,MFTKEY *def)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);


	if(Call("mgrbaseif_IndexGetDef",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			*bunique=res.GetItemLong(1);
			return res.GetItemMFTKEY(2,def);

		}

	}

	return FALSE;
}

BOOL  MGRBaseClient::IndexGetLastKey(LPCSTR dbname,LPCSTR idxname,MFTKEY *key)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);


	if(Call("mgrbaseif_IndexGetLastKey",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			return res.GetItemMFTKEY(1,key);
		}

	}

	return FALSE;
}

BOOL  MGRBaseClient::IndexCheck(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname,BOOL bfix)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);
	arg.SetItemLong(3,bfix);


	if(Call("mgrbaseif_IndexCheck",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

BOOL  MGRBaseClient::IndexFetch(LPCSTR dbname,LPCSTR idxname,superint_ut start,int num,NetTable *rowid)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemSuperLong(2,start);
	arg.SetItemLong(3,num);


	if(Call("mgrbaseif_IndexFetch",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(rowid);

			return TRUE;
		}

	}

	return FALSE;
}

superint_ut   MGRBaseClient::IndexCountRow(LPCSTR dbname,LPCSTR idxname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);


	if(Call("mgrbaseif_IndexCountRow",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexQuery(LPCSTR dbname,LPCSTR idxname,MFTKEY &key,superint_ut start,int num,NetTable *rowids)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);
	arg.SetItemSuperLong(3,start);
	arg.SetItemLong(4,num);


	if(Call("mgrbaseif_IndexQuery",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(rowids);

			return TRUE;
		}

	}

	return FALSE;
}

BOOL  MGRBaseClient::IndexFilter(LPCSTR dbname,LPCSTR idxname,NetTable &param,NetTable *out)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemNetTable(2,&param,FALSE);


	if(Call("mgrbaseif_IndexFilter",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(out);

			return TRUE;
		}

	}

	return FALSE;
}


superint_ut   MGRBaseClient::IndexCountKey(LPCSTR dbname,LPCSTR idxname,MFTKEY &key)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);



	if(Call("mgrbaseif_IndexCountKey",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexQueryBetween(LPCSTR dbname,LPCSTR idxname,MFTKEY &begin,MFTKEY &end,superint_ut start,int num,NetTable *rowids)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(6);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,begin);
	arg.SetItemMFTKEY(3,end);

	arg.SetItemSuperLong(4,start);
	arg.SetItemLong(5,num);


	if(Call("mgrbaseif_IndexQueryBetween",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(rowids);

			return TRUE;
		}

	}

	return FALSE;
}

superint_ut   MGRBaseClient::IndexCountBetween(LPCSTR dbname,LPCSTR idxname,MFTKEY &begin,MFTKEY &end)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,begin);
	arg.SetItemMFTKEY(3,end);


	if(Call("mgrbaseif_IndexCountBetween",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexQueryUpper(LPCSTR dbname,LPCSTR idxname, MFTKEY &key,superint_ut start,int num,NetTable *rowids)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);
	arg.SetItemSuperLong(3,start);
	arg.SetItemLong(4,num);


	if(Call("mgrbaseif_IndexQueryUpper",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(rowids);

			return TRUE;
		}

	}

	return FALSE;
}

superint_ut   MGRBaseClient::IndexCountUpper(LPCSTR dbname,LPCSTR idxname ,MFTKEY &key)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);



	if(Call("mgrbaseif_IndexCountUpper",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexQueryBelow(LPCSTR dbname,LPCSTR idxname, MFTKEY &key,superint_ut start,int num,NetTable *rowids)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);
	arg.SetItemSuperLong(3,start);
	arg.SetItemLong(4,num);


	if(Call("mgrbaseif_IndexQueryBelow",NULL,&arg,&res))
	{
		if( res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(rowids);

			return TRUE;
		}

	}

	return FALSE;
}

superint_ut   MGRBaseClient::IndexCountBelow(LPCSTR dbname,LPCSTR idxname ,MFTKEY &key)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);
	arg.SetItemMFTKEY(2,key);



	if(Call("mgrbaseif_IndexCountBelow",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

superint_ut MGRBaseClient::IndexGetSpace(LPCSTR dbname,LPCSTR idxname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,idxname);

	if(Call("mgrbaseif_IndexGetSpace",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::IndexSync(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);

	if(Call("mgrbaseif_IndexSync",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -