ÈçºÎͨ¹ýADOʹÓþۺϺ¯ÊýÀ´²éѯ(Êý¾Ý¿âΪACCESS)
_RecordsetPtr CMyAdo::SelectRecord(string &where, string &tablename,string &field, int way )
{
int ret = 0;
_RecordsetPtr pset;
CString sql;
VARIANT count;
count.vt = VT_INT;
ret = OpenDB();
if( ret == 1 )
return -1; //´´½¨¶ÔÏóʧ°Ü
else if( ret == 2 )
return -2; //Êý¾Ý¿â´ò¿ªÊ§°Ü
try
{
sql.Format("select count(*) from %s", tablename.c_str() );
/*if( way == 0 ) //²éѯȫ²¿
{
sql.Format("select * from %s", tablename.c_str() );
TRACE("sql = %s\n",sql);
}
else if( way == 1 ) //°´×ֶβéѯ
sql.Format("select %s from %s", field.c_str(), tablename.c_str() );
else if( way == 2 ) //°´Ìõ¼þÈ«²¿²éѯ
{
}
else if( way == 3 ) //°´Ìõ¼þºÍ×Ö¶ÎÁªºÏ²éѯ
{
}*/
pset = m_dbptr->Execute((_bstr_t)sql.GetBuffer(sql.GetLength()),&count,adCmdUnknown);
if( pset != NULL && !pset->ADOEOF )
retu
Ïà¹ØÎÊ´ð£º
ÎÒÓÐÒ»¸öUnits±í,½á¹¹Îª:
ID UnistsName
UN1 ºÚÁú½¶«·½Ñ§Ôº
UN2   ......
ÎÒµÄÊý¾Ý¿âÊǼòÌåsqlserver2000 ,ÎÒÏëÔÚ·±ÌåaccessÏÂÁ¬½Ó,ͨ¹ýodbcÊÇ¿ÉÒÔÁË,µ«ÔÚaccessϳöÏÖ´ò¿ªµÄ±íÈ«ÖÐ"#ÒÑɾ³ý"
²»ÖªµÀÒªÔõô²Ù×÷²Å¿ÉÒÔÓÃACCESS·±ÌåÁ¬½Ó¼òÌåsqlserver2000.лл!!!
´ó¼Ò¶¼ ......
ÔÚaccessÖÐÔõôִÐÐselect TOP (@size) * from table1
Õâ¸öTOPÔõô´ø²ÎÊý²éѯ°¡
ÓÃVBA¶¯Ì¬Éú³ÉSQLÓï¾ä£¬ÔÙÖ´ÐÐ
²»ÄÜÖ±½ÓÓÃSQLÓï¾ä£¬ÓÃ×Ö·û´®ÀÛ¼ÓÉú³ÉSQLÓï¾äµÄ·½·¨À´Ö´ÐÐSQLÓï¾ä
top n Õâ¸öûÓа취ʹÓò ......
ÏîÄ¿ÐèÒª´´½¨³ÌÐò¼¯£¬²¢¶Ô¸Ã³ÌÐò¼¯ÉèÖÃEXTERNAL_ACCESSȨÏÞ£¬ÒÔÍê³ÉÍⲿ·ÃÎʹ¦ÄÜ£¬±ÈÈç²ÉÓÃÈçÏÂÓï¾ä£º
create assembly assemblyName(³ÌÐò¼¯Ãû³Æ) from 'D:\dllName.dll' with permission_set = external ......
Çë½Ì
ÔÚaccessÖÐ ÎÒÓбí1
id1 id2 id3 id4
1 2 3 0
2&nb ......