May 29th, 1999, 04:49 AM
I use SQLDescribeCol in my programe.
SQLCHAR ColName[50];
SQLSMALLINT NameLen=0,DataType,DecDigits,Nullable;
SQLUINTEGER ColSize;
CString Column="CREATE TABLE e_usrnew(";
CString Length;
CString Name;
BOOL matched=FALSE;
for(i=1;i<18;i++)
{
sr=SQLDescribeCol(hstmt,i,ColName,50,&NameLen,&DataType,
&ColSize,&DecDigits,&Nullable);
Length.Format("%d",ColSize);
Name=ColName;
if(DataType==SQL_VARCHAR)
{
Column=Column+Name+" VARCHAR("+Length+"),";
}
if(DataType==SQL_TYPE_DATE)
{
Column=Column+Name+" DATE,";
}
if(DataType==SQL_BIT)
{
Column=Column+Name+" BIT,";
}
if(DataType==SQL_NUMERIC)
{
matched=TRUE;
}
}
DataType is 8.I tried SQL_DECIMAL,SQL_NUMERIC,SQL_SMALLINT,SQL_INTEGER.They all don't match DataType.
Help me ,please!
SQLCHAR ColName[50];
SQLSMALLINT NameLen=0,DataType,DecDigits,Nullable;
SQLUINTEGER ColSize;
CString Column="CREATE TABLE e_usrnew(";
CString Length;
CString Name;
BOOL matched=FALSE;
for(i=1;i<18;i++)
{
sr=SQLDescribeCol(hstmt,i,ColName,50,&NameLen,&DataType,
&ColSize,&DecDigits,&Nullable);
Length.Format("%d",ColSize);
Name=ColName;
if(DataType==SQL_VARCHAR)
{
Column=Column+Name+" VARCHAR("+Length+"),";
}
if(DataType==SQL_TYPE_DATE)
{
Column=Column+Name+" DATE,";
}
if(DataType==SQL_BIT)
{
Column=Column+Name+" BIT,";
}
if(DataType==SQL_NUMERIC)
{
matched=TRUE;
}
}
DataType is 8.I tried SQL_DECIMAL,SQL_NUMERIC,SQL_SMALLINT,SQL_INTEGER.They all don't match DataType.
Help me ,please!