CRecordset 的应用----数据类型转换问题
在CRecordset 中派生类的私有成员一般都是CString,在使用是如果碰到添加数据或修改数据的情况,而数据表中的该field 为别的类型,例如时间,整形,浮点等,那应该怎么转换呢? 问题点数:20、回复次数:13Top
1 楼rafaelcn(飞扬)回复于 2002-11-15 14:34:54 得分 0
谁可以给出几个 int 转 CString, unsigned long 转 CString ,float 转 CString 的样板?Top
2 楼rafaelcn(飞扬)回复于 2002-11-15 14:37:18 得分 0
还有如果数据表中的类型为time,又应该怎么转?Top
3 楼bqt(周扒皮)回复于 2002-11-15 14:38:23 得分 10
我正好有一些,嘿嘿...
CString IntToStr(int nVal)
{
CString strRet;
char buff[10];
itoa(nVal, buff, 10);
strRet = buff;
return strRet;
}
CString LongToStr(long lVal)
{
CString strRet;
char buff[20];
ltoa(lVal, buff, 10);
strRet = buff;
return strRet;
}
CString ULongToStr(unsigned long ulVal)
{
CString strRet;
char buff[20];
ultoa(ulVal, buff, 10);
strRet = buff;
return strRet;
}
CString DblToStr(double dblVal, int ndigits)
{
CString strRet;
char buff[50];
_gcvt(dblVal, ndigits, buff);
strRet = buff;
return strRet;
}
CString DblToStr(float fltVal)
{
CString strRet = _T("");
char buff[50];
_gcvt(fltVal, 10, buff);
strRet = buff;
return strRet;
}
要给分欧!!!
Top
4 楼rafaelcn(飞扬)回复于 2002-11-15 15:54:38 得分 0
RFX_Text 的作用是什么?谁来说明一下?
Top
5 楼wjb58182()回复于 2002-11-16 03:19:37 得分 0
在数据库和Recordset之间交换数据,把据库中得知转换给Recordset中相应的变量,同样有相反过程,我是这样理解的,如果有误,请指明,多谢!!!Top
6 楼wjb58182()回复于 2002-11-16 03:22:39 得分 0
大哥把CTime格式变量的转换show一下,非常感谢!!!Top
7 楼bqt(周扒皮)回复于 2002-11-18 19:35:20 得分 0
CTime格式转换.!我不知道,嘿嘿..
不过你可以设法先转换成char *,再转换成CString.Top
8 楼elabs(洋洋)回复于 2002-11-18 22:11:02 得分 0
我好象记得CTIME有作为CString 输出的函数啊Top
9 楼robbiebo(羊头)回复于 2002-11-24 15:47:46 得分 0
eg。
CTime time;
CString str;
str=time.format("年%Y,月%B,日%d");Top
10 楼alornwolf(天山雪狼)回复于 2002-11-25 22:31:29 得分 5
CTime t=CTime::GetCurrentTime();
CString str;
str=t.Format("%Y");
int month=t.GetMonth();
char buffer[2];
_itoa(month,buffer,10);
str+="-";
str+=buffer;
str+="-";
str+=t.Format("%d");
//2002-11-25Top
11 楼cococut(小鱼的天空)回复于 2002-11-26 09:44:49 得分 5
CTime t = CTime::GetCurrentTime();
CString strtime;//2002-11-25 12:43:01
strtime.Format ("%d-%d-%d %d:%d:%d",
t.GetYear(),t.GetMonth(),t.GetDay(),
t.GetHour (),t.GetMinute (),t.GetSecond ());Top
12 楼gxbole(乐于此)回复于 2002-11-26 10:04:15 得分 0
CTime time
time=time::getcurrenttime();
CString timeStr=time.format("%Y-%M-%D");Top
13 楼bqt(周扒皮)回复于 2002-11-28 10:39:06 得分 0
char* appid = new char[30];
CString strtime;
memset( appid, 0, 30);
memcpy( appid, srcaddr, 11 );
CTime time = CTime::GetCurrentTime();
itoa( time.GetYear(), appid+11,10 );
itoa( time.GetMonth(), appid+15,10 );
itoa( time.GetDay(), appid+17,10 );
itoa( time.GetHour(), appid+19,10 );
itoa( time.GetMinute(),appid+21,10 );
itoa( time.GetSecond(),appid+23,10 );
strtime.Format(_T("%s"),appid);Top




