求源码.谢谢CSDN的朋友

解决方案 »

  1.   


    #include "stdafx.h"
    #include<conio.h> #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")int _tmain(int argc, _TCHAR* argv[])
    {
    _ConnectionPtr conn;
    _RecordsetPtr data;
    wchar_t temp[512];
            CComQIPtr <Excel::_Worksheet> sheet(worksheet); 
    Excel::RangePtr range;        try
    {
    conn.CreateInstance(__uuidof(Connection)); swprintf(temp, connectionString, accId, year);
    conn->Open(temp, L"", L"", adModeUnknown); swprintf(temp, sql, expense, item_class, item_id, month);
    data = conn->Execute(temp, NULL, adCmdText); int row , day; range = sheet->GetCells();
    for(row = 4, day = 1; row < 35; row++, day++)
    {
    swprintf(temp, L"%02d日", day);
    range->PutItem(row, 1, temp);

    range->PutItem(row, 3);
    range->PutItem(row, 4);
    range->PutItem(row, 12);
    } for(row = 4; !data->adoEOF; data->MoveNext(), row++)
    {
    day = data->GetCollect(L"field1");
    day += 4;
    while(row < day)
    {
    row++;
    } range->PutItem(row, 3,  data->GetCollect(L"field3"));
    range->PutItem(row, 4,  data->GetCollect(L"field2"));
    range->PutItem(row, 12, data->GetCollect(L"field4"));   } }
    catch (_com_error e)
    {
    conn->Close();
    throw e;
    }
    CoUninitialize(); return 0;
    }
      

  2.   

    1楼使用ADO连接数据库。
    楼主不明白直接google“ADO”
      

  3.   


    // ado.cpp : 定义控制台应用程序的入口点。
    //#include "stdafx.h"#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")wchar_t *sql = L"select field1, ... from tableName where id=%d";
    wchar_t *connectionString = L"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DBName;Data Source=.";int _tmain(int argc, _TCHAR* argv[])
    {
        _ConnectionPtr conn;
        _RecordsetPtr data;
        wchar_t temp[512];
        try
        {
            conn.CreateInstance(__uuidof(Connection));          
            conn->Open(connectionString, L"", L"", adModeUnknown);  //建立连接 int id = 3;

            swprintf(temp, sql, id); //
            
    data = conn->Execute(temp, NULL, adCmdText);        int row , day;        for(; !data->adoEOF; data->MoveNext())  //遍例所有记录
            {
                day = data->GetCollect(L"field1"); //读取字段
            }    }
        catch (_com_error e)
        {
            conn->Close();
        }
    CoUninitialize(); return 0;
    }整理了一下。
      

  4.   

    Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=icard;Data Source=(Local)\GSQL;User ID=sa;Password=admin;
      

  5.   

    Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=sa;Initial Catalog=carddb;Data Source=127.0.0.1
    -----------
    这样就可以了。