怎么知道select是否执行成功呢? 使用Delphi7的dbexpress连接mysql,使用sqldataset1.Open来进行select查询,怎么才能知道是否查询成功呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 成功就是获得数据库的select执行后返回数据select的语句可以保证是正确的我现在是用sqldataset1.Fields.Fields[0].AsString来获得返回的数据,如果连接失败的话这个数据回是空的[不知道为什么会连接失败]但是不能用这个数据是否为空来判断是否执行成功,因为select也有可能返回的本来就是空的数据啊 [不知道为什么会连接失败]!! 狂晕!如果连接失败会有提示的呀,当然你要首先保证连接成功了才能去执行 SQL 语句的呀! 我用的SQLConnection KeepConnection方式连接数据库,select时就 sqldataset1.CommandText:='select * from data'; sqldataset1.Open ; Scrstr:=sqldataset1.Fields.Fields[0].AsString; sqldataset1.Close; 1.执行 SQL 前判断一下是否成功连接着数据库;2.用 Try 处理连接失败的错误。 1.执行 SQL 前判断一下是否成功连接着数据库这个该怎么做啊?这个地方不是很想用Try。如果于数据库连接失败的话,返回值是空的,但是正常的select也有可能会是空的返回,看返回结果不太好办啊 1.“如果于数据库连接失败的话,返回值是空的”你这是担心什么啊?????????????你以为连接失败的状态下去执行 SQL 语句还会有返回值吗?马上就会抛出异常啦! if SQLConnection1.Connected then ShowMessage('已经连接') else ShowMessage('连接丢失');2.“这个地方不是很想用Try。 "这不个轮不到你想不想,只要有可能抛出异常的地方都需要进行异常处理。当抛出了异常而没有 Try 结构去处理,结果可是无法预料的。这是原则问题。 既然你能保证语句不会出问题,那么只有两个可能会出错。1。SQL断开连接。2。连接超时。检测第一种可能性,可以用检测是否连接或者用TRY第二种可能性,只能用TRY 所以建议最好用try...exceptend; 常在CSDN上下东东,分不够,三分走人!这次的回复,希望不会太短---------------------------------------------------------关于一个SQL语句执行是否成功,可以先Repair一下对于DDL语句用EXECSQL的返回值可得到是否成功对于DML语句你可看看组件是否为空得到是否成功if 数据集组件.IsEmpty then 不成功 timer 中的label.caption 显示 数据库数据的随机抽取问题 project1怎么调用 project2里面的窗体? 有关taborder及tabstop及tag的问题? 请教:怎样从string中把某个特定的外字替换掉! 关于MDI的菜鸟问题!向各位高手请教 错误提示“Asynchronous socket error”可以在哪里得到祥解? 公布诛仙外挂部分源代码 向高手请教一个图形系统开发的问题!不知道也没关系,大家一起来讨论一下! 如何对内存映射文件进行写操作 如何在短的时间里提高delphi 编程水平 delphi 怎么安装 .net写的控件(控件后缀名是dll)
select的语句可以保证是正确的我现在是用sqldataset1.Fields.Fields[0].AsString来获得返回的数据,如果连接失败的话这个数据回是空的[不知道为什么会连接失败]
但是不能用这个数据是否为空来判断是否执行成功,因为select也有可能返回的本来就是空的数据啊
sqldataset1.Open ;
Scrstr:=sqldataset1.Fields.Fields[0].AsString;
sqldataset1.Close;
这个该怎么做啊?这个地方不是很想用Try。
如果于数据库连接失败的话,返回值是空的,但是正常的select也有可能会是空的返回,看返回结果不太好办啊
你以为连接失败的状态下去执行 SQL 语句还会有返回值吗?马上就会抛出异常啦! if SQLConnection1.Connected then
ShowMessage('已经连接')
else
ShowMessage('连接丢失');2.“这个地方不是很想用Try。 "这不个轮不到你想不想,只要有可能抛出异常的地方都需要进行异常处理。当抛出了异常而没有 Try 结构去处理,结果可是无法预料的。这是原则问题。
1。SQL断开连接。
2。连接超时。
检测第一种可能性,可以用检测是否连接或者用TRY
第二种可能性,只能用TRY
所以建议最好用
try
...
except
end;
---------------------------------------------------------
关于一个SQL语句执行是否成功,可以先Repair一下
对于DDL语句用EXECSQL的返回值可得到是否成功
对于DML语句你可看看组件是否为空得到是否成功
if 数据集组件.IsEmpty then 不成功