ADOQuery取SQLSERVER数据的numeric有关问题

ADOQuery取SQLSERVER数据的numeric问题
数据库中partcode   cardtype是varchar类型
                processid   cardno是numeric类型

我的代码是这样的

ADOQuery2-> Close();
ADOQuery2-> SQL-> Clear();
ADOQuery2-> SQL-> Add( "select   partcode,   cardtype,   processid,   cardno   "
                                        "from   processcard_head   "
                                        "where   partcode   = ' "   +   strPara   +   " ' ");
ADOQuery2-> Open();

while(!ADOQuery2-> Eof)
{
                    strPartCode   =   ADOQuery2-> FieldByName( "partcode ")-> AsString;
                    strReturn   =   strReturn   +   strPartCode   +   "@# ";
                    strCardType2   =   ADOQuery2-> FieldByName( "cardtype ")-> AsString;
                    strReturn   =   strReturn   +   strCardType2   +   "@# ";
                    strProcessid   =   ADOQuery2-> FieldByName( "processid ")-> AsString;
                    strReturn   =   strReturn   +   strProcessid   +   "@# ";
                    strCardno   =   ADOQuery2-> FieldByName( "cardno ")-> AsString;
                    strReturn   =   strReturn   +   strCardno   +   "@# ";
                    ADOQuery2-> Next();
}

现在的问题是数据中对应的processid   cardno的值分别是是-7和-1,代码中strProcessid和strCardno的值分钟是7和1,请高手帮忙怎么解决?

------解决方案--------------------