MFC连接SQL Server 2008的操作:
第一步:配置数据源
打开“控制面板”->“管理工具”->"数据源",在“用户DSN”面板中点击“添加”,选择“SQL Server”为驱动程序,在弹出的对话框中填写数据源名称、描述,选择当前运行的数据库实例 为服务器,点击“下一步”。
如果在连接数据库服务引擎时身份验证为Windows身份验证,则当前对话框采用默认设置;如果身份验证为SQL Server身份验证,那么在当前对话框中选择第二个验证方式,并填写登陆ID和密 码。点击“下一步”。
在弹出的对话框中选择“更改默认的数据库”复选框,并在其右边的下拉列表框中选择你要用的数据库,点击“下一步”。
在弹出的对话框中,采用默认的当前的系统设置,点击下一步。 点击“完成”后,会出现建立的数据源的设置信息,然后点击“确定”。数据源建立成功。
第二步:打开VS2008,新建MFC应用程序,基于对话框。
编写代码如下:
//连接数据库的函数
void MainInfo::GetConnectToSql()
{ CDatabase m_db;//定义数据库对象
CRecordset m_rs;//记录集,用于查询数据
try{
//连接数据库
m_db.OpenEx(_T("DSN=NewScore;Database=StudentScore;"),CDatabase::noOdbcDialog);//NewScore为数据源名称,StudentScore为数据库名。
m_rs.m_pDatabase = &m_db;//记录集与数据源绑定。如果此处不绑定,在后边查询时会弹出要你选择数据源的对话框。为避免麻烦,此处不要省略。
AfxMessageBox(_T("连接成功")); }
catch(_com_error e)//此处捕捉异常可参考其他的,这里只是随便举个例子
{ AfxMessageBox(_T("连接失败")); }
//查询数据库中的数据
CString strSql = _T("select * from Student_Score");//查询语句,Student_Score为数据表。
CString strResult;
//存放查询结果
try
{ //打开查询记录
m_rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSql);//查阅MSDN Recordset的函数Open().
//逐条查询记录,显示记录的方法自己查阅。
while(!m_rs.IsEOF()){
m_rs.GetFieldValue(_T("StuName"),strResult);//得到数据
MessageBox(strResult);
m_rs.MoveNext(); }
int number = m_rs.GetRecordCount();//获取记录的数量
CString num;
num.Format(_T("%d"),number);
m_StuNum.SetWindowTextW(num);
}
catch(_com_error e)
{
MessageBox(_T("查询出错"));
}
//插入记录集
CString strnewSql = _T("use StudentScore insert into Student_Score(StuName,StuNum,StuClass,StuScore) values('李四','sy1107206','4','56') ");
try{ m_db.ExecuteSQL(strnewSql); }
catch(_com_error e) { AfxMessageBox(_T("shibai")); }
//删除一条记录
CString strdelete = _T("use StudentScore delete from Student_Score where StuName='李四'");
try{ m_db.ExecuteSQL(strdelete); }
catch(_com_error e) { AfxMessageBox(_T("shibai")); }
m_rs.Close();//关闭记录
m_db.Close();//关闭数据库
}