INSERT INTO table_name(column1,column2,) VALUES (value1,value2, .) 有关问题,原来的有关问题没有解决,再次求解,请大家帮忙

INSERT INTO table_name(column1,column2,...) VALUES (value1,value2, ...) 问题,原来的问题没有解决,再次求解,请大家帮忙。
我用的是vc连接数据库

我建了一个名为Data的表,格式如下:
列名     数据类型     长度
time     datetime     8
ID             int           4
Data         real         4

我的代码是:
CDatabase   cdb;
LPCSTR   str   = "INSERT   INTO   Data(time,ID,Data)   VALUES( '2006-10-20   09:34:24.155 ',1,60300.000) ";
cdb.ExecuteSQL(str);

上面的代码是可以成功运行的

但我改成下面的代码就不行了
string   str1   =   "2006-10-20   09:34:24.155 ";
int   a   =   1;

CDatabase   cdb;
LPCSTR   str   = "INSERT   INTO   Data(time,ID,Data)   VALUES(str1,a,60300.000) ";
cdb.ExecuteSQL(str);

我是个新手,不太会,大家能不能写的详细一点,具体应该怎么改?

------解决方案--------------------
CString str;
CString str1 = "2006-10-20 09:34:24.155 ";
str.Format( "INSERT INTO Data([time],ID, [Data] VALUES ( '%s ', %d, 60300.000) ", str1, a);
cdb.ExecuteSQL(str);