用Execute操作数据库
1、原型是:_ConnectionPtr Execute( _bstr_t CommandText, VARIANT * RecordsAffected,
long Options );
參數
1. CommandText是命令字符串,通常是SQL命令,也可以是表名、存儲過程等
2. RecordsAffected 可選,是操作完成后所影響的行數
3. Options 可選,解釋CommandText參數的方式,Options可以是CommandTypeEnum或ExecuteOptionEnum枚舉類型值
類型
說明
adCmdUnspecifed=-1
未描述CommandType屬性
adCmdText=1
指示提供者應將 CommandText 賦值為命令的文本定義。
adCmdTableDirect
指示提供者應從 CommandText 命名的表中返回所有行。
adCmdTable=2
指示提供者應將 CommandText 賦值為表名。
adCmdStoredProc=4
指示提供者應將 CommandText 賦值為存儲過程。
adCmdUnknown=8
指示 CommandText 參數中的命令類型未知。
adExecuteAsync
指示命令應該異步執行。
adFetchAsync
指示 CacheSize 屬性指定的初始數量之后的行應異步提取。
2、應用:
先定義一個變量variant_t RecordsAffected;
String str;
添加記錄:
// str.Format("delete from stuInfo where stuID=60213");
str.Format("insert into stuInfo values('孟子',80203,'男',23,'化學院','湖北',68,'06教本1班')");
// m_pConnection->Execute((_bstr_t)str,NULL,adCmdText);
m_pConnection->Execute((_bstr_t)str,&RecordsAffected,adCmdText);
通過對話框添加記錄 :
variant_t RecordsAffected;
strExec.Format("insert into stuInfo values('%s',%ld,'%s',%d,'%s','%s',%d,'%s')",dlg.m_stuName,(atol)(dlg.m_stuID),dlg.m_sex,
(atoi)(dlg.m_age),dlg.m_dept,dlg.m_nativePlace,(atoi)(dlg.m_score),dlg.m_class);
刪除記錄:
strExec.Format("delete from stuInfo where stuID=%ld",(atol)(m_ListCtrl.GetItemText(iItem,0)));
修改記錄:
strExec.Format("update stuInfo set stuName='%s' where stuID=%d",dlg.m_stuName,(atol)(dlg.m_stuID));
m_pConnection->Execute((_bstr_t)strExec,&RecordsAffected,adCmdText);
總結
以上是生活随笔為你收集整理的用Execute操作数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS开发之Cocoa编程—— NSUn
- 下一篇: UIview需要知道的一些事情:setN