我是一个新手,刚刚接触asp.net,看到了SqlDataReader但不太会用,请教.
private void GetInspector()
{
SqlConnection cn = new SqlConnection(ClassTools.SQL.Connect());
SqlCommand cmd = new SqlCommand("Web_User_GetInspector",cn);
cmd.CommandType = CommandType.StoredProcedure;
try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Inspector.DataSource = dr;//下拉菜单的数据控件
Inspector.DataBind();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cn.Close();
cmd.Dispose();
cn.Dispose();
}
}
private void GetInfo(string ID)
{
SqlConnection cn = new SqlConnection(ClassTools.SQL.Connect());
SqlCommand cmd = new SqlCommand("Web_Item_GetInfo",cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ItemNumber",SqlDbType.NVarChar,50);
cmd.Parameters[0].Value = ID;
try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(dr.Read())
{
Reber.Text = dr["Reber"].ToString();
Orber.Text = dr["Orber"].ToString();
Itber.Text = dr["Itber"].ToString();
}
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cn.Close();
cmd.Dispose();
cn.Dispose();
}
}
请问上面两个函数写的对吗,用在并发中能不能出错误,如果出错,应该怎么改,还有我不知道我写的函数中SqlDataReader怎么关闭,在哪关闭,还有就是finally
里写的代码的位置是否正确,是不是先关闭连接再释放对象,在线等.
private void GetInspector()
{
SqlConnection cn = new SqlConnection(ClassTools.SQL.Connect());
SqlCommand cmd = new SqlCommand("Web_User_GetInspector",cn);
cmd.CommandType = CommandType.StoredProcedure;
try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Inspector.DataSource = dr;//下拉菜单的数据控件
Inspector.DataBind();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cn.Close();
cmd.Dispose();
cn.Dispose();
}
}
private void GetInfo(string ID)
{
SqlConnection cn = new SqlConnection(ClassTools.SQL.Connect());
SqlCommand cmd = new SqlCommand("Web_Item_GetInfo",cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ItemNumber",SqlDbType.NVarChar,50);
cmd.Parameters[0].Value = ID;
try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(dr.Read())
{
Reber.Text = dr["Reber"].ToString();
Orber.Text = dr["Orber"].ToString();
Itber.Text = dr["Itber"].ToString();
}
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cn.Close();
cmd.Dispose();
cn.Dispose();
}
}
请问上面两个函数写的对吗,用在并发中能不能出错误,如果出错,应该怎么改,还有我不知道我写的函数中SqlDataReader怎么关闭,在哪关闭,还有就是finally
里写的代码的位置是否正确,是不是先关闭连接再释放对象,在线等.
解决方案 »
- lucent.net 分页
- 如何导入一个已经部署好的ASP.NET网站到VS2008,我是新手啊,希望大家帮帮忙,步骤给详细点啊。
- formview,datalist等控件能缓存吗?
- 关于CSS+DIV的背景图像的问题
- 老说我没有写; 大家帮看看`谢谢了
- 用代码生成DataGrid中的绑定列,怎么实现分页问题?
- 学习 ASP.NETC#语言的,有点C的基础,需要从C++看起么
- 我已经打开了一个excel文件,请问如何知道文件总共有多少行数据!
- Iprincipal接口问题,高手帮忙啊
- 配件.ascx的紧急问题,急急急!高手请看一下!
- datalist中获取值的方法
- 关于vs.net2005的一个简单问题
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
Inspector.DataSource = dr;//下拉菜单的数据控件
Inspector.DataBind();
dr .Close();
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cn.Close();
cmd.Dispose();
cn.Dispose();
}try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(dr.Read())
{
Reber.Text = dr["Reber"].ToString();
Orber.Text = dr["Orber"].ToString();
Itber.Text = dr["Itber"].ToString();
}
dr.Close();