void CMFCSQLDlg::OnBnClickedOk()
{
CoInitialize(NULL);
_ConnectionPtr m_pConnection;
HRESULT hr=m_pConnection.CreateInstance(_uuidof(Connection));
if(FAILED(hr))
{
cout<<"_ConnectionPtr对象指针实例化失败!!!"<<endl;
return ;
}
else {
try { /*127.0.0.1,1433*/
_bstr_t strConnect="Driver={sql server};server=(local);uid=sa;pwd=P@ssw0rd;database=测试;";
m_pConnection->Open(strConnect,"sa","P@ssw0rd",adModeUnknown);
}
catch(_com_error &e) {
cout<<e.Description()<<endl;
}
_RecordsetPtr m_pRecordset;
if(FAILED(m_pRecordset.CreateInstance( _uuidof( Recordset ))))
{
cout<<"记录集对象指针实例化失败!"<<endl;
return;
}
try {
m_pRecordset.CreateInstance("ADODB.Recordset");//从注册表
_variant_t ra ;
m_pConnection->Execute("CREATE TABLE student4(学号 INTEGER,姓名 TEXT,性别 TEXT,年龄 INTEGER,部门 TEXT)",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112105, '程红秀',22,'市场部')",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112106, 'xx',25,'市场部')",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112107, '赵y',35,'市场部')",&ra,adCmdText);
m_pRecordset =m_pConnection->Execute("SELECT COUNT(*)FROM student5",&ra,adCmdText);
//取得第一个字段值放入vCount变量
_variant_t vCount=m_pRecordset->GetCollect((_variant_t)(long)(0));
m_pRecordset->Close();
CString str;
str.Format(L"共有%d条记录",vCount.iVal);
AfxMessageBox(str);
}
catch (_com_error &e)
{
cout << e.Description()<<endl;
}
try {
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
string insertTime=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("InsertTime"))->Value);
cout<<insertTime<<endl;
m_pRecordset->MoveNext();
}
}
catch (_com_error &e)
{
cout << e.Description()<<endl;
}
}
//system("pause");
CDialogEx::OnOK();
}
{
CoInitialize(NULL);
_ConnectionPtr m_pConnection;
HRESULT hr=m_pConnection.CreateInstance(_uuidof(Connection));
if(FAILED(hr))
{
cout<<"_ConnectionPtr对象指针实例化失败!!!"<<endl;
return ;
}
else {
try { /*127.0.0.1,1433*/
_bstr_t strConnect="Driver={sql server};server=(local);uid=sa;pwd=P@ssw0rd;database=测试;";
m_pConnection->Open(strConnect,"sa","P@ssw0rd",adModeUnknown);
}
catch(_com_error &e) {
cout<<e.Description()<<endl;
}
_RecordsetPtr m_pRecordset;
if(FAILED(m_pRecordset.CreateInstance( _uuidof( Recordset ))))
{
cout<<"记录集对象指针实例化失败!"<<endl;
return;
}
try {
m_pRecordset.CreateInstance("ADODB.Recordset");//从注册表
_variant_t ra ;
m_pConnection->Execute("CREATE TABLE student4(学号 INTEGER,姓名 TEXT,性别 TEXT,年龄 INTEGER,部门 TEXT)",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112105, '程红秀',22,'市场部')",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112106, 'xx',25,'市场部')",&ra,adCmdText);
m_pConnection->Execute("INSERT INTO student4(学号,姓名,年龄,部门) VALUES (112107, '赵y',35,'市场部')",&ra,adCmdText);
char sql[100];
//sprintf_s(sql, "use 测试 update student1 set 姓名='全家性',部门='序号' where 年龄 =22", str1 );
//m_pConnection->Execute(sql,&ra,adCmdText);
m_pRecordset =m_pConnection->Execute("SELECT COUNT(*)FROM student5",&ra,adCmdText);
//取得第一个字段值放入vCount变量
_variant_t vCount=m_pRecordset->GetCollect((_variant_t)(long)(0));
m_pRecordset->Close();
CString str;
str.Format(L"共有%d条记录",vCount.iVal);
AfxMessageBox(str);
}
catch (_com_error &e)
{
cout << e.Description()<<endl;
}
try {
m_pRecordset->MoveFirst();
while(!m_pRecordset->adoEOF)
{
string insertTime=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("InsertTime"))->Value);
cout<<insertTime<<endl;
m_pRecordset->MoveNext();
}
}
catch (_com_error &e)
{
cout << e.Description()<<endl;
}
}
//system("pause");
CDialogEx::OnOK();
}