3.5.4 登录界面的实现(2)
注意:上面的代码在使用前还需要连接数据库,打开数据表。这个功能本系统用ConnectSql()函数封装,下面给出该函数的主要部分,具体代码参考光盘。
ConnectSql()函数把连接数据库的操作封装起来,便于代码重利用。其中关键代码如下:
代码位置:见光盘中本章源代码的CHCDBApp类的ConnectSql()函数。
- 1 if(m_connection!=NULL)
- 2 m_connection=NULL;
- 3 try
- 4 {
- 5 m_connection.CreateInstance("ADODB.Connection"); //初始化指针
- 6 HRESULT rs; //定义返回值类型
- 7 rs=m_connection->Open((_bstr_t)sqlstr,"","",adModeUnknown);//连接数据库
- 8 if(rs)
- 9 {
- 10 ::AfxMessageBox("连接失败");
- 11 return ;
- 12 }
- 13 }
- 14 catch(_com_error e) //捕捉异常信息
- 15 {
- 16 CString strError;
- 17 strError.Format("Wrongis %s\nMeaningis %s\nDescriptioni s% s",e.ErrorMessage(),
- 18 (LPCSTR)e.Source(),(LPCSTR)e.Description()); //获取异常信息
- 19 AfxMessageBox(strError); //显示异常信息
- 20 return ;
- 21 }
第7行代码实现连接数据库Sales,sqlstr是该函数的唯一参数,用户在使用时可以根据连接需要随意构造出不同的连接字符串。
第14~21行代码是显示连接失败时对应的错误信息。这样当连接出现问题时,用户可以很容易地找到错误的地方。
连接数据库的操作用函数ConnectSql()封装,不仅能够很方便地判断连接是否成功,而且对于频繁连接数据库操作可以减少代码重复编写,提高开发效率。