高手,谢谢你之前给我的解答,我还想问下以下代码
void Qurey::OnButton2()
{
UpdateData();
CString sSQL;
SYSTEMTIME time;
GetSystemTime(&time);
int year = time.wYear ;
int month = time.wMonth ;
int day = time.wDay;
int price = 0;
CString date = ("");
CString sday = ("");
CString smonth = ("");
CString syear = ("");
sday = (CString)day;
smonth = (CString)month;
syear = (CString)year;
date = syear+smonth;
date = date+sday;
_variant_t vField; CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst1(__uuidof(Recordset));
CString str = "Provider=MSDAORA.1;Password=123456;User ID=liyang;Data Source=orcl;Persist Security Info=True";
pConn->Open(_bstr_t(str),"","",adConnectUnspecified);
sSQL.Format("select * from object where oid = %d",m_oid);
pRst1 = pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);
vField = pRst1->GetFields()->GetItem((long)15)->Value;
price = vField.intVal;
sSQL.Format("insert into temp values('%s',%d,to_date('%s','yyyymmdd'))",m_oid,price,date);
pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);
// TODO: Add your control notification handler code here
}
在获得PRICE处就出错,为什么呢!看了几本书,改过来改过去就是不行,是连的ORCLE 还想问下,我前面的三个获得系统时间的变量的用法对吗,有什么办法这三个变量做为日期在INSERT语句中插入到我的另一个表中吗??我在这里的用三个CString 变量附值再相加好象不行,请高手指点,下我该怎么实现,就是从一个表中获得PRICE加上从系统获得日期再插入TEMP表中谢谢了!~~~~~~~~~"
void Qurey::OnButton2()
{
UpdateData();
CString sSQL;
SYSTEMTIME time;
GetSystemTime(&time);
int year = time.wYear ;
int month = time.wMonth ;
int day = time.wDay;
int price = 0;
CString date = ("");
CString sday = ("");
CString smonth = ("");
CString syear = ("");
sday = (CString)day;
smonth = (CString)month;
syear = (CString)year;
date = syear+smonth;
date = date+sday;
_variant_t vField; CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst1(__uuidof(Recordset));
CString str = "Provider=MSDAORA.1;Password=123456;User ID=liyang;Data Source=orcl;Persist Security Info=True";
pConn->Open(_bstr_t(str),"","",adConnectUnspecified);
sSQL.Format("select * from object where oid = %d",m_oid);
pRst1 = pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);
vField = pRst1->GetFields()->GetItem((long)15)->Value;
price = vField.intVal;
sSQL.Format("insert into temp values('%s',%d,to_date('%s','yyyymmdd'))",m_oid,price,date);
pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);
// TODO: Add your control notification handler code here
}
在获得PRICE处就出错,为什么呢!看了几本书,改过来改过去就是不行,是连的ORCLE 还想问下,我前面的三个获得系统时间的变量的用法对吗,有什么办法这三个变量做为日期在INSERT语句中插入到我的另一个表中吗??我在这里的用三个CString 变量附值再相加好象不行,请高手指点,下我该怎么实现,就是从一个表中获得PRICE加上从系统获得日期再插入TEMP表中谢谢了!~~~~~~~~~"
还是上面一句出错?
因为第一次用VC开发MIS所以不太知道,该怎么在里面写TRY CATCH,只要是不太懂,该抛出怎样的错误!我用断点跟踪
就总是到了好象是汇编的地方,真的不懂!~~
至于程序我只能不停的替换,来看是哪出错了。
试过之后:
sSQL.Format("insert into temp values('%s',203,to_date('18720205','yyyymmdd'))",m_oid);
这样对了
但是
sSQL.Format("insert into temp values('%s',203,to_date('%s','yyyymmdd'))",m_oid,date);
出错,所以我想的这样的方法插入得到的时间,是不行。请前辈教我个怎样得系统日期,然后插入表内
实在是感谢!~
至于下面这里的
sSQL.Format("select * from object where oid = %d",m_oid);
pRst1 = pConn-> Execute(_bstr_t(sSQL),NULL,adCmdText);
vField = pRst1-> GetFields()-> GetItem((long)15)-> Value;
price = vField.intVal;
也应该有问题
但是我想应该是前面的问题
sSQL.Format("select * from object where oid = %d",m_oid);
pRst1 = pConn-> Execute(_bstr_t(sSQL),NULL,adCmdText);
这里的
vField = pRst1-> GetFields()-> GetItem((long)15)-> Value;
是不是可以改成
vField = pRst1-> pRst1->GetCollect("PRICE");
我只想得到我object表中的price值(NUMBER型)
然后和DATE一起插入到表中,
请前辈指点,真的是很感谢。感激不尽,我左改又改都不知道怎么改了,因为是临时搞,所以查书效果不大。
要么调试
要么messageBox()
举个例子
加入你获得的month=9
那么你转化成字符串就是"9"
所以你全加在一起,mm只是9,而不是你想要的09
所以需要格式化format("%02d",month)
打个比方
你再仔细查一下