我用的是mysql数据库,表里设了unique列。在向数据库insert时,不想用select检查是否有重复键值,就想用try...catch语句捕获TQuery的ExecSQL时的错误。有两个问题请教:
try {
.
.
.
Query_tmp->ExecSQL(); }
catch ( ?) // 键值重复 <--第1问
{提示键值重复}
catch
1. SQLException
问2. 怎么还有一个catch?
try {
.
.
.
Query_tmp->ExecSQL();
}
catch (Exception& Err) // 如果你不知道其具体的异常类,你可以用所有类的基类。
{
ShowMessage(Err.Message)
}
1.DatabaseError.这个我不敢确定,你试试看,别忘了也告诉我。
2.不会。但是它可以catch到其他的异常。