要选择相应的驱动程序。我举个例子,你的管理系统的数据库文件是***.mdb 日志文件是 ****.LOG 采用的数据库是SQL2000 ODBC数据源连接。
配置方法:
1.启动数据库SQL 2000 启动服务,将数据库文件添加到数据库中(附加数据库就行)
2.打开ODBC数据源 在用户DSN标签下 添加->选择SQL Server驱动->完成->填上数据库的名称(***)和数据库(Local)->下一步->下一步->更改默认数据库(选择成你要添加的那个)->直接点OK就行了。
连接打开数据库和查询数据库都要加异常捕获代码,因为数据库在连接的时候可能连接不上,就不能进行后面的查询工作,否则就会报错,如果查询一个不存在的表都会出问题,所以要加异常捕获,避免出现错误时程序非法 *** 作,增加代码容错机制。修改代码见下,运行时可以看看代码提示什么错误,出错原因主要可能是数据库连接不上或查询错误表。
if(!SUCCEEDED(CoInitialize(NULL)))
MessageBox("FAILED")
_ConnectionPtr pConn(__uuidof(Connection)) _RecordsetPtr pRst(__uuidof(Recordset))
pConn->ConnectionString = "Provider=Microsoft.ACE.OLEDB.16.0Data Source=Test.accdbJet OLEDB:Database Password=123Persist Security Info=False"
try{
pConn->Open("","","",-1)
}
catch (_com_error e)
{
AfxMessageBox(e.Description())
return
}
try{
pRst = pConn->Execute("select * from tb_UserInfo", NULL, adCmdText)
while(!pRst->adoEOF)
{
((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("username"))
pRst->MoveNext()
}
}
catch (_com_error e)
{
AfxMessageBox(e.Description())
return
}
pRst->Close()
pConn->Close()
pRst.Release()
pConn.Release()
CoUninitialize()
一般程序中的异常处理是指处理不可预料的异常,通常是由于未考虑到的某个方面导致了某种异常的出现。而异常处理:分为很多种,一般情况下可以用Catch(Exception e)来捕获所有的异常。如果是底层的话,可以throw 出来,让上层调用方法去处理异常。如果要处理直接在catch块中写上处理方法即可。第二种是很详细的处理,把异常分类别捕获,分类别处理。比如类型转换异常、文件读写异常等等,然后为他们分别做不同的异常处理,这也是一般程序的建议处理方式。而LZ所说的异常,这些对于程序员来说是确定的限制条件而不是异常了。
1. 找不到记录 你应该把你的查询方法返回值写成false,调用时做相关的处理,比如提示用户,不存在记录等等。
2.是主键的字段在你的编辑界面就应该设置为readonly,不让客户直接编辑。
长度这些都是需要你在界面上的读写界面时直接写明白的,比如:你读取一个长度限定字段的TextBox里的值,你的后台应该去if判断下长度,超出了,直接提示用户,而不是等到数据库发现了超出长度再来处理。如果这些都交到数据库处理,会让程序效率低、不容易 *** 作。
2.2关于重名,这里你应该在Save你的记录之前,去select下是不是存在,然后提示用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)