比如:
有数组A
A(0)(0)=1
A(0)(1)="james"
A(1)(0)=2
A(0)(1)="tom"我需要得到一个adodb.recordset对象,其内容为:fldID fldName
--------------------
1 james
2 tom请提供实现源码,谢谢!
/////////////////////////
在VB中的实现:
大致如下:
Dim A(1, 1) As String
Dim Rs As New ADODB.Recordset
A(0, 0) = 1
A(0, 1) = "james"
A(1, 0) = 2
A(1, 1) = "tom"
Dim I As Integer
For I = 0 To UBound(A)
Rs.Fields.Append A(I, 0), adVarChar, 50
Next IRs.Open
For I = 0 To UBound(A)
Rs.AddNew
Rs.Fields(I).Value = A(I, 1)
Debug.Print Rs.Fields(I).Name
Next I///////////
VC中如何实现?
有数组A
A(0)(0)=1
A(0)(1)="james"
A(1)(0)=2
A(0)(1)="tom"我需要得到一个adodb.recordset对象,其内容为:fldID fldName
--------------------
1 james
2 tom请提供实现源码,谢谢!
/////////////////////////
在VB中的实现:
大致如下:
Dim A(1, 1) As String
Dim Rs As New ADODB.Recordset
A(0, 0) = 1
A(0, 1) = "james"
A(1, 0) = 2
A(1, 1) = "tom"
Dim I As Integer
For I = 0 To UBound(A)
Rs.Fields.Append A(I, 0), adVarChar, 50
Next IRs.Open
For I = 0 To UBound(A)
Rs.AddNew
Rs.Fields(I).Value = A(I, 1)
Debug.Print Rs.Fields(I).Name
Next I///////////
VC中如何实现?
解决方案 »
- c++编程书中的一句话看了一个国庆不懂,急求个关于friend修辞问题
- 请教一个简单的字符串相加问题
- C/S下遇到的问题
- 如何放大所画的图片????
- vc中如何去掉progress控件的3D边框
- 想换工作今天去面试了,结果一塌糊涂,郁闷……散分!!!
- 高手指教:利用Connection对象,Command对象的Execute和直接用Recordset对象来执行SQL命令适应场合及优缺点?
- 怎么把桌面画黑,然后把一些TIF格式的图片在桌面上旋转移动呢?
- VC中自定义显示的视图不能用UpdateData函数??????????
- 请教大家
- 笔记本电脑的显存一般多少比较合适?(12000左右的)
- 怎么控制精确的延时(error<=10ms)?up有分..
//#include <afxdisp.h>#import "c:\program files\common files\system\ado\msado15.dll" rename ("EOF","adoEOF") no_namespace#define CREATEiNSTANCE(sp,riid) { HRESULT _hr =sp .CreateInstance( __uuidof( riid ) ); \
if (FAILED(_hr)) _com_issue_error(_hr); }#define RsITEM(rs,x) rs->Fields->Item[_variant_t(x)]->Value
#define UC (char *)
struct InitOle {
InitOle() { ::CoInitialize(NULL); }
~InitOle() { ::CoUninitialize(); }
} _init_InitOle_; // Global Instance to force load/unload of OLEvoid main(){ _RecordsetPtr spRS;
_RecordsetPtr spRSCopy;
_ConnectionPtr spCON;
try{
CREATEiNSTANCE(spCON,Connection);
spCON->ConnectionString = L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Index.mdb;"
L"Persist Security Info=False";
spCON->Open( "", "", "", -1 );
CREATEiNSTANCE(spRS,Recordset)
spRS->PutRefActiveConnection( spCON );
spRS->Open("select STATIONID,STATNAME from Station", vtMissing, adOpenKeyset,
adLockBatchOptimistic, adCmdUnspecified); CREATEiNSTANCE(spRSCopy,Recordset)
spRSCopy->PutRefActiveConnection( spCON );
spRSCopy->Open("select STATIONID,STATNAME from Copy", vtMissing, adOpenKeyset,
adLockOptimistic, adCmdUnspecified);
while(spRS->adoEOF == false){
printf("StationID = %s StationName = %s \n", UC _bstr_t(RsITEM(spRS,"STATIONID")),
UC _bstr_t(RsITEM(spRS,"STATNAME")));
spRSCopy->AddNew();
RsITEM(spRSCopy,"STATIONID") = _bstr_t(UC _bstr_t(RsITEM(spRS,"STATIONID")));
RsITEM(spRSCopy,"STATNAME") = _bstr_t(UC _bstr_t(RsITEM(spRS,"STATNAME"))); spRSCopy->Update();
spRS->MoveNext();
}
spRS->Close();
spRSCopy->Close();
spCON->Close();
}
catch( _com_error &e){
_bstr_t bstrSource(e.Source());
_bstr_t bs = _bstr_t(" Error: ") + _bstr_t(e.Error()) + _bstr_t(" Msg: ")
+ _bstr_t(e.ErrorMessage()) + _bstr_t(" Description: ")
+ _bstr_t(e.Description());
MessageBox(0,bs,bstrSource, MB_OK);
}
}
#undef UC