社区
C#
帖子详情
ado.net如何实现自动重连
yfwill
2010-06-21 04:02:41
我的程序所在网络环境不好,经常长时间丢包.我使用ado.net如何实现自动重连?有没有例子
...全文
221
13
打赏
收藏
ado.net如何实现自动重连
我的程序所在网络环境不好,经常长时间丢包.我使用ado.net如何实现自动重连?有没有例子
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
geminizane
2010-06-22
打赏
举报
回复
@_@
看不懂...继续努力...
yfwill
2010-06-22
打赏
举报
回复
有没有成型的代码呢?
狼王_
2010-06-22
打赏
举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
using(SqlConnection conn=new SqlConnection(""))
{
if(sqlConn.State==ConnectionState.Closed)
{
conn.Open();
}
...
}
[/Quote]
据说这是微软推出的代替try...catch...finally的方法。效率应该比try...catch...finally效率高。
小_虎
2010-06-22
打赏
举报
回复
某mm,一段时间QQ离开的自动回复非常简洁——“不在!”
于是出现了这样的聊天记录:
——在吗?
——不在!
——真不在?
——不在!
——问你件事情哦,你的初吻还在吗?
——不在!
——啊?那你的初夜还在吧?
——不在!
——你的贞操还在吗?
——不在!
——喂,你太过分了,你的廉耻心还在吗?
——不在!
……………………
mm遂改自动回复…
以专业开发人员为伍
2010-06-22
打赏
举报
回复
[Quote=引用 9 楼 yfwill 的回复:]
我觉得应该是个常见的问题,为什么没有人解答呢?
[/Quote]
.net本身框架内所有ado.net的驱动的DbConnection都只是逻辑连接而已,没每一次数据库操作都要使用Open,这样逻辑连接就会复用底层物理连接,或者创建新的物理连接。因此这些根本不是你的编程所能看到的,你只是看到一个操作过程中抛出异常了(于是事务没有提交),然后用户再次执行操作又成功了。这个时候你要做的只是重新设计业务逻辑使得每一个数据库操作事务都很短(例如不超过2秒钟),你有怎么可能会仅仅纠缠于刚刚最初的一步“自动重连”?(难道你就不考虑重连以后做什么?)
不问这种问题,反而会编程。一旦多余考虑这些,反而不会了。
xiulinwang123
2010-06-22
打赏
举报
回复
没错,这是一个常见的问题,每个公司都可能会遇到,其实基本道理都是让它再连,也就是ADOConnection再次连一次就OK了,你可以放在异常中处理,也可以在任何你认为可能会断开的地方调用,不过有一点,Oracle数据库本身就有一个保持Session时间段的问题。所以你要经常保持这个Session在活动
yfwill
2010-06-22
打赏
举报
回复
我觉得应该是个常见的问题,为什么没有人解答呢?
hahajack
2010-06-21
打赏
举报
回复
[Quote=引用 5 楼 guanghui_10 的回复:]
不懂,学习中。。。
[/Quote]
同样学习了 我觉得用实现判断状态比较好
guanghui_10
2010-06-21
打赏
举报
回复
不懂,学习中。。。
liubiao198421
2010-06-21
打赏
举报
回复
呵呵都是大师
wuyq11
2010-06-21
打赏
举报
回复
using(SqlConnection conn=new SqlConnection(""))
{
if(sqlConn.State==ConnectionState.Closed)
{
conn.Open();
}
...
}
LovingAlison
2010-06-21
打赏
举报
回复
楼上的代码确实实现了重新连接 但是TRY中的代码就不执行了
每次执行之前 先判断下状态 要是ConnectionState.Open 就直接执行操作 要不是 就连接后再去执行
使用连接池可以提高效率
捷哥1999
2010-06-21
打赏
举报
回复
你可以将打开数据库连接和读取数据的代码用try ....catch finally抱起来,在catch异常后,再次连接!
try
{
sqlConn.open();
while(notEnd)//你要在循环中设置结束条件
{
try{
//...read data from sqlConn
}
catch(Exception ex)
{
if(sqlConn.State!=ConnectionState.Open)
sqlConn.Open();
}
}
}
catch(Exception ex)
{
//外围异常处理
}
ado.net
中文手册(html)
内容如下:
ado.net
概述
ado.net
的设计目标
ado.net
结构
.net 数据提供程序
ado.net
dataset
为 .net 数据提供程序编写通用代码
ado.net
示例应用程序
使用.net数据提供程序访问数据
使用
ado.net
连接到数据源
执行命令
使用datareader检索数据
将存储过程用于命令
从数据库中获取单个值
从数据库中获取blob 值
执行数据库操作和修改数据
从sql server中以xml形式获取数据
从dataadapter填充 dataset
使用dataadapter和dataset更新数据库
向dataset添加现有约束
设置datatable和datacolumn映射
将参数用于dataadapter
输入和输出参数及返回值
自动
生成的命令
使用dataadapter 事件
从数据库中获取架构信息
执行事务
.net数据提供程序的代码访问安全性
创建和使用 dataset
创建 dataset
向 dataset 添加 datatable
添加表间关系
导航表间关系
将 dataset 与现有数据一起使用
合并 dataset 内容
复制 dataset 内容
使用 dataset 事件
使用类型化的 dataset
xml 和 dataset
diffgram
从 xml 中加载 dataset
以 xml 数据形式编写 dataset
从 xml 中加载 dataset 架构信息
以xml架构(xsd)形式编写dataset架构信息
使 dataset 与 xmldatadocument 同步
嵌套的 datarelation
从xml架构(xsd)生成dataset关系结构
将xml架构(xsd)约束映射到dataset 约束
从xml架构(xsd)生成dataset关系
了解约束和关系之间的相互关系
从xml推断dataset关系结构
创建和使用数据表
创建数据表
定义数据表的架构
在数据表中操作数据
创建和使用dataview
创建dataview
使用dataview对数据排序和筛选
使用dataview查看数据
使用dataview修改数据
使用dataview事件
使用dataviewmanager设置默认表视图据
从
ado.net
访问ado记录集或记录
ado.net
方案示例
检索“标识”或“
自动
编号”值
开放式并发
从 xml web services 使用 dataset
查询结果分页
实现
.net数据提供程序
.net 数据提供程序
实现
入门
实现
连接
实现
命令
实现
datareader
实现
dataadapter
示例 .net 数据提供程序
数据集
数据集介绍
用于创建数据集的visual studio工具
用组件设计器创建类型化数据集
用表达式创建数据集列
将表添加到现有数据集
将现有类型化数据集添加到窗体或组件
将非类型化数据集添加到窗体或组件
演练:将数据源表映射到数据集表
数据适配器
数据适配器介绍
数据适配器命令中的参数
数据适配器中的表映射
创建数据适配器
为数据适配器配置参数
将数据源列映射到数据集数据表列
预览数据适配器的结果
数据连接
sqlconnection 概述
sqlcommand 概述
DAM 简单跨数据库
ADO.NET
组件
它的特点: 在您保证SQL语句兼容的前提下,透过它来访问数据库时,在不需要改变DAL层一点代码的前提下,只要修改一下配置文件,它便可以为你跨不同类型的数据库。 让你的DAL层代码更见简练。它会根据配置文件配置的连接信息,
自动
为你创建数据库连接,执行操作。关闭连接,释放连接等. 让DAL层的不同模块访问不同类型或不同数据库更加方便。 不错的执行效率,它基于原生
ADO.NET
。只会反射一次访问不同数据库的ADO提供者的程序集(DAM最终都是通过这些提供者来
实现
访问不同类型数据库的)。 它的配置: 代码如下:
<add key=”rpsconnection” value
winform控件与
ADO.NET
ADO.NET
的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用
ADO.NET
名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。
ASP.NET网站设计实例通
本书现场构建了一个完整的Internet网站,全书共分为10章,第1章讲解基本概念,内容包括ASR.NET的设计理念和运行模型。第2章讲解 ASP.NET网页设计的基本内容。第3章讲解ASP.NET的文件操作,
实现
文本模式和图形模式两种计数器。第4章讲解用户注册系统,包含 ASP.NET的数据验证技术和数据库链接技术(
ADO.NET
)。第5章深入讲解ASP.NET技术,使用XML打造留言板。第6章和第7章是网页设计的经典之作,是ASP.NET技术的综合应用,本章现场构建了在线论坛和在线聊天室。第8章构建了一个基于XML的新闻系统,并使用WebSevice发布新闻。第9章使用ASP.NET设计并
实现
一个电子商店。第10章是ASP.NET的进阶内容,讲解文件上传和E-mail的
自动
传送功能。本书可以作为ASP.NET程序设计人员的参考资料,也可以作为网站建设及维护人员的培训班教材
C#
实现
实体类
自动
生成(源代码)
用
ADO.Net
加C#
实现
实体类
自动
生成。两中方式
实现
:一种采用sql语句方式 二无sql方式。
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章