Привет,кто нибудь может написать или кинуть ссылку на таблицу где есть соответсвие между типами MICROSOFT_SQL_SERVER
и типами,которые можно применять в OLE DB Customer Templates.
По-моему для varchar это TCHAR,а для tinyint — BYTE,нужно еще для image,datetime итд
Здравствуйте, NordSky, Вы писали:
NS>Привет,кто нибудь может написать или кинуть ссылку на таблицу где есть соответсвие между типами MICROSOFT_SQL_SERVER
NS>и типами,которые можно применять в OLE DB Customer Templates.
NS>По-моему для varchar это TCHAR,а для tinyint — BYTE,нужно еще для image,datetime итд
Type Indicators in a Microsoft SQL Server Provider
Здравствуйте, kvasya, Вы писали:
K>Здравствуйте, NordSky, Вы писали:
NS>>Привет,кто нибудь может написать или кинуть ссылку на таблицу где есть соответсвие между типами MICROSOFT_SQL_SERVER
NS>>и типами,которые можно применять в OLE DB Customer Templates.
NS>>По-моему для varchar это TCHAR,а для tinyint — BYTE,нужно еще для image,datetime итд
K>Type Indicators in a Microsoft SQL Server Provider
это я нашел,только не понял как имим пользоваться. В общем,Мне надо создать таюлицу типа
class CXXX
{
public:
TCHAR m_x;
BEGIN_COLUMN_MAP( CXXX )
COLUMN_ENTRY( 1,m_x )
END_COLUMN_MAP()
};
в таблице есть еще типы image и datetime как мне их привязать к переменным в классе? какой тип данных использовать?
Для image я предполагаю нужно ISequentialStream,а вот для datetime
Здравствуйте, NordSky, Вы писали:
NS>это я нашел,только не понял как имим пользоваться. В общем,Мне надо создать таюлицу типа
NS>NS>class CXXX
NS>{
NS>public:
NS> TCHAR m_x;
NS> BEGIN_COLUMN_MAP( CXXX )
NS> COLUMN_ENTRY( 1,m_x )
NS> END_COLUMN_MAP()
NS>};
NS>
NS>в таблице есть еще типы image и datetime как мне их привязать к переменным в классе? какой тип данных использовать?
NS>Для image я предполагаю нужно ISequentialStream,а вот для datetime
Это обширная тема, я все-таки рекомендовал бы обратиться к документации. MSDN вполне достаточно. В коде у тебя не совсем корректно, вот навскидку
create table dbo.Pictures
(
id int,
description varchar(64),
bmp image,
)
class AnyImageContainterType
{
char *imageBuffer; // или все что угодно, что сочтешь нужным
};
class Pictures
{
DBTYPE_I4 _id;
DBTYPE_STR _description
AnyImageContainterType _bitmap;
public:
int getId() const;
string getDescription() const;
void DrawBitmapTo( HDC hdc, POINT pt );
};
Как-то так. Как все это дело раскрутить — надо все-таки читать OLE DB data access; И каждой тип отдельно изучать, засады в конвертации семо и овамо. Там и ATL всплывет и прочее и прочее.. И появятся конкретные вопросы
Здравствуйте, NordSky, Вы писали:
NS>это я нашел,только не понял как имим пользоваться. В общем,Мне надо создать таюлицу типа
Вот нашел в исходниках какой-то код для примера:
switch ( type )
{
case DBTYPE_GUID:
return GuidToString( (BYTE *)m_pResultSet->GetValue( column ), result );
break;
case DBTYPE_BSTR:
result = (WCHAR *)m_pResultSet->GetValue( column );
break;
case DBTYPE_STR:
OutputDebugString( "DBTYPE_STR\n");
DebugBreak();
//result = (CHAR *)m_pResultSet->GetValue( column );
break;
case DBTYPE_WSTR:
result = (WCHAR *)m_pResultSet->GetValue( column );
break;
case DBTYPE_IUNKNOWN:
case DBTYPE_BYTES:
return BytesToString( column, (BYTE *)m_pResultSet->GetValue( column ), result );
case DBTYPE_NULL:
result = L"NULL";
break;
default:
return false;
}
return true;
Здравствуйте, NordSky, Вы писали:
NS>это я нашел,только не понял как имим пользоваться. В общем,Мне надо создать таюлицу типа
И вот еще:
...
BSTR stringValue;
LCID localeId = MAKELCID( MAKELANGID( LANG_ENGLISH, SUBLANG_ENGLISH_US ) , SORT_DEFAULT);
switch(type)
{
case DBTYPE_I2:
VarBstrFromI2( *( (SHORT *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
break;
case DBTYPE_I4:
VarBstrFromI4( *( (LONG *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
break;
case DBTYPE_I8:
VarBstrFromI8( *( (LONG64 *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
break;
case DBTYPE_R4:
VarBstrFromR4( *( (FLOAT *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
break;
...
Здравствуйте, kvasya, Вы писали:
K>Здравствуйте, NordSky, Вы писали:
NS>>это я нашел,только не понял как имим пользоваться. В общем,Мне надо создать таюлицу типа
K>И вот еще:
K>K>...
K> BSTR stringValue;
K> LCID localeId = MAKELCID( MAKELANGID( LANG_ENGLISH, SUBLANG_ENGLISH_US ) , SORT_DEFAULT);
K> switch(type)
K> {
K> case DBTYPE_I2:
K> VarBstrFromI2( *( (SHORT *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
K> break;
K> case DBTYPE_I4:
K> VarBstrFromI4( *( (LONG *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
K> break;
K> case DBTYPE_I8:
K> VarBstrFromI8( *( (LONG64 *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
K> break;
K> case DBTYPE_R4:
K> VarBstrFromR4( *( (FLOAT *)m_pResultSet->GetValue( column ) ), localeId, 0, &stringValue );
K> break;
K>...
K>
Спасибо большое за помощь!! Буду разбираться