| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 650 人关注过本帖
标题:[求助]关于SqlConnection的问题
只看楼主 加入收藏
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
 问题点数:0 回复次数:5 
[求助]关于SqlConnection的问题

如下图, 如果单步执行点不会出错,按[F5]运行的话就会出现如下错误....

图片附件: 游客没有浏览图片的权限,请 登录注册

2007-07-16 16:33
立志成佛
Rank: 1
等 级:新手上路
威 望:2
帖 子:314
专家分:0
注 册:2006-11-1
收藏
得分:0 

上面已经写出了,连接超时。
每次数据操作之后要关闭数据库!
你为什么把关闭数据库那句写在Exception里呢?
应该写在Finally里


曾经的曾经已不在
2007-07-16 16:56
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
把关闭数据库写在finally里面吧 也用一样的判断

愛生活 && 愛編程
2007-07-16 23:20
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

多谢两位大虾, 我再试试看。


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-07-18 23:57
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

依两位大匙的方法还是不行,因为我这个方法的作用是根据一个SQL语句,返回一个SqlDataReader,如果SqlConnection关闭了,就会在调用SqlDataReader.HasRows时及读取SqlDataReader.Read()时出错,如下图:

该方法的全部代码如下:
public SqlDataReader GetReader(string strSql, bool isProcess, params SqlParameter[] paras)
{
SqlConnection conn = new SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand(strSql, conn);
if (isProcess)
{
cmd.CommandType = CommandType.StoredProcedure;
}
if (paras != null)
{
foreach (SqlParameter p in paras)
{
cmd.Parameters.Add(p);
}
}
SqlDataReader sdr = null;
try
{
conn.Open();
sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (SqlException se)
{
MessageBox.Show(se.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return sdr;
}


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-07-19 09:45
立志成佛
Rank: 1
等 级:新手上路
威 望:2
帖 子:314
专家分:0
注 册:2006-11-1
收藏
得分:0 

感觉楼主的代码逻辑太乱哦
楼主想用无参数SQL语句?带参数SQL语句?还是存储过程呢?
下面是一个用DataReader的简单示例 读NorthWind数据库



[CODE] string conStr = "SERVER=(local);DATABASE=Northwind;INTEGRATED SECURITY=True;";
SqlConnection con = new SqlConnection(conStr);
try
{
con.Open();
string cmdText = @"Select * From Customers";
SqlCommand cmd = new SqlCommand(cmdText, con);
SqlDataReader reader = cmd.ExecuteReader();
int i = 0;
while (reader.Read () )
{
i++;
}
MessageBox.Show("OK"+" "+i);
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}[/CODE]


曾经的曾经已不在
2007-07-19 15:11
快速回复:[求助]关于SqlConnection的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028825 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved