类中的方法public SqlDataReader Dr(Dictionary<string,string> parms,string ctext)
{
SqlConnection con = this.Dbcon();
SqlCommand cmd = new SqlCommand(ctext,con);
foreach (KeyValuePair<string, string> kv in parms)
{
cmd.Parameters.AddWithValue(kv.Key,kv.Value);
}
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
con.Close();
return dr;
}页面中的调用 Cldb cldb=new Cldb();
Dictionary<string, string> parmsRead = new Dictionary<string, string>();
parmsRead.Add("@UserName", strUsername);
SqlDataReader da = cldb.Dr(parmsRead, sql2);
while (da.Read())
{
UserID = da.GetGuid(0);
}这样写会报错Invalid attempt to call Read when reader is closed.想问一下高手怎么修改呢?我主要是想把数据库调用放到类中,但是类中不出现类似
UserID = da.GetGuid(0);这样的特殊代码,以便于日后在其他程序里继续调用,所以UserID = da.GetGuid(0);这样的代码只能写在页面中.
{
SqlConnection con = this.Dbcon();
SqlCommand cmd = new SqlCommand(ctext,con);
foreach (KeyValuePair<string, string> kv in parms)
{
cmd.Parameters.AddWithValue(kv.Key,kv.Value);
}
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
con.Close();
return dr;
}页面中的调用 Cldb cldb=new Cldb();
Dictionary<string, string> parmsRead = new Dictionary<string, string>();
parmsRead.Add("@UserName", strUsername);
SqlDataReader da = cldb.Dr(parmsRead, sql2);
while (da.Read())
{
UserID = da.GetGuid(0);
}这样写会报错Invalid attempt to call Read when reader is closed.想问一下高手怎么修改呢?我主要是想把数据库调用放到类中,但是类中不出现类似
UserID = da.GetGuid(0);这样的特殊代码,以便于日后在其他程序里继续调用,所以UserID = da.GetGuid(0);这样的代码只能写在页面中.
解决方案 »
- 新年好,请教个提交页面问题。
- 当嵌套用户控件的时候,如何得到网页可见区域大小
- 我晕,在windows 7 下装不了 TortoiseSvn
- 使用RequiredFieldValidator后,页面无法提交了!!
- 在线等待给分!怎么样发布WEB应用程序到服务器?
- 送给你朋友 七夕节的礼物! http://www.dapinpai.com/1983.htm
- asp.net+access,update语句,不报错,不更新
- 急问!!!!简单的
- 初学ASP.NET,问题一大堆.经理又要尽快把ASP全换成.NET .累啊~~~~~求助.
- 在线等待,关hao123网站,我的hao123的功能,如何实现的,用到了什么功能,谢谢!
- 字段如何处理再绑定?
- 新浪的博客地址http://blog.sina.com.cn/u/1214132890是什么技术?
{
SqlConnection con = this.Dbcon();
SqlCommand cmd = new SqlCommand(ctext,con);
foreach (KeyValuePair<string, string> kv in parms)
{
cmd.Parameters.AddWithValue(kv.Key,kv.Value);
}
con.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//当关闭DataReader时自动关闭Connection
// con.Close();不能关闭
return dr;
}
这样就可以了, 返回dataset,datable,dr,用到那个返回那个。
{
UserID = da.GetGuid(0);
}
写到类中,返回数组或集合
返回 SqlDataReader 不是高明的方法
foreach (KeyValuePair<string, string> kv in parms)
{
cmd.Parameters.AddWithValue(kv.Key,kv.Value);
}
-_-! 直接添加参数进去就可以了。还要用泛型循环一遍—_—!