我写了一个动态连接SQL Server数据库的小程序,不过在调试时出错!
procedure TForm1.Button1Click(Sender: TObject);
begin
MyCon.Connected:=false;
MyCon.ConnectionString:='';
MyCon.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+Trim(userid.Text)+';Initial Catalog='+Trim(DBName.Text)+';Data Source='+Trim(ServerName.Text)+';PASSWORD='+Trim(PWD.Text);
try
MyCon.connected:=true;//**如果上面的连接不正确,当执行到此语句时, // 就产生了中断,而不执行下面的except语句
showmessage('ok');
except
showmessage('no');
end;end;如果上面的连接不正确,当执行到 MyCon.connected:=true; 此语句时, 就产生了中断,而不执行下面的except中语句,这是为什么??还望高手指教!!明天结帐!!
procedure TForm1.Button1Click(Sender: TObject);
begin
MyCon.Connected:=false;
MyCon.ConnectionString:='';
MyCon.ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False;User ID='+Trim(userid.Text)+';Initial Catalog='+Trim(DBName.Text)+';Data Source='+Trim(ServerName.Text)+';PASSWORD='+Trim(PWD.Text);
try
MyCon.connected:=true;//**如果上面的连接不正确,当执行到此语句时, // 就产生了中断,而不执行下面的except语句
showmessage('ok');
except
showmessage('no');
end;end;如果上面的连接不正确,当执行到 MyCon.connected:=true; 此语句时, 就产生了中断,而不执行下面的except中语句,这是为什么??还望高手指教!!明天结帐!!
......
}
except(SQLException ex){
..........
}
关键是except括号里面的东西
而是弹出一个系统的对话框,显出一些系统错误信息。程序就此死掉
to hjd2357(thanks): except必须设置参数吗??
直接执行exe文件时,系统异常被屏蔽,直接执行except 中的程序
Try....Finally End
的用法应该很清楚吧?!
在程序调试时,若产生异常,则系统会先抛出异常信息,然后执行Except下面的程序。当你单独执行EXE文件时,如果你没有显示异常的语句它是不会抛出异常信息而直接执行Except的代码!
Try....Finally End
的用法应该很清楚吧?!
在程序调试时,若产生异常,则系统会先抛出异常信息,然后执行Except下面的程序。当你单独执行EXE文件时,如果你没有显示异常的语句它是不会抛出异常信息而直接执行Except的代码!
你在windows里运行你的exe文件再试试, 应该没有问题了