ADO
От: Stain  
Дата: 22.11.02 15:46
Оценка:
Как записать в Parameter значение datetime(MSSQL)?

_CommandPtr pCmd;
_variant_t param;

param.vt = ?
param.? = ?

if(pCmd->GetParameters()->GetItem(Index)->GetType() == adDBTimeStamp)
pCmd->GetParameters()->GetItem(Index)->PutValue(param);
Re: ADO
От: Алекс Россия http://wise-orm.com
Дата: 23.11.02 11:59
Оценка:
Здравствуйте, Stain, Вы писали:

S>Как записать в Parameter значение datetime(MSSQL)?

S>

S>_CommandPtr pCmd;
S>_variant_t param;

S>param.vt = ?
S>param.? = ?

if(pCmd->>GetParameters()->GetItem(Index)->GetType() == adDBTimeStamp)
pCmd->>GetParameters()->GetItem(Index)->PutValue(param);
S>


Попробуй BSTR с решеткой. Типа #34.34.34 34.34#
Re: ADO
От: Zar Россия  
Дата: 24.11.02 08:33
Оценка:
Здравствуйте, Stain, Вы писали:

S>Как записать в Parameter значение datetime(MSSQL)?

S>

S>_CommandPtr pCmd;
S>_variant_t param;

S>param.vt = ?
S>param.? = ?

if(pCmd->>GetParameters()->GetItem(Index)->GetType() == adDBTimeStamp)
pCmd->>GetParameters()->GetItem(Index)->PutValue(param);
S>


Я записывал так:


    CTime tm1, tm2;
    CDateTimeCtrl dt;
    _variant_t vt;

    dt.Attach(GetDlgItem(IDC_DATETIMEPICKER1));
    dt.GetTime(tm1);
    COleDateTime odt1(tm1.GetYear(), tm1.GetMonth(), tm1.GetDay(), 0, 0, 0);
    vt.vt = VT_DATE;
    vt = odt1;
    dt.Detach();
    param = cmd->CreateParameter(_bstr_t("DT0"), adDate, adParamInput, sizeof(double), vt);
    cmd->Parameters->Append(param);

    param = cmd->Parameters->GetItem("DT0");
    vt.vt = VT_DATE;
    vt = odt1;
    param->Value = vt;


Причём имя параментра указывается без префикса '@'.
[ Zarathustra ]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.