首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

SqlDataReader有关问题

2012-01-23 
SqlDataReader问题usingSystemusingSystem.DatausingSystem.Data.SqlClientusingSystem.Configuration

SqlDataReader问题
using   System;
using   System.Data;
using   System.Data.SqlClient;
using   System.Configuration;
using   System.Collections;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;

public   partial   class   manage_loginchek   :   System.Web.UI.Page
{
        BaseClass   bc   =   new   BaseClass();
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {

                string   p_id   =   Request.Params[ "uid "].Trim();
                string   p_pass   =   Request.Params[ "pwd "].Trim();
                SqlConnection   conn   =   new   SqlConnection(ConfigurationManager.AppSettings[ "conn "]);
                string   tSQL   =   "select   u_name,u_flag   from   users   where   u_id= ' "+p_id+ " '   and   u_pass= ' "+p_pass+ " 'order   by   id   desc   ";
                try
                {
                        SqlCommand   mycommand   =   new   SqlCommand(tSQL,   conn);
                        conn.Open();
                        SqlDataReader   reader   =   mycommand.ExecuteReader();
                        Session[ "name "]   =   reader[ "u_name "].ToString();
                        Session[ "flag "]   =   reader[ "u_flag "].ToString();
                }
                catch   (System.Exception   e)
                {
                        conn.Close();
                        Response.Redirect( "login.aspx ");
                }
                      //if   (s   ==   1)
                //{
                //         Session[ "flag "]   =   p_id;
                //         Response.Redirect( "adminindex.aspx ");

                //}

        }
}

大家看下,为什么会出错呢?

错误1不能在此范围内声明名为“e”的局部变量,因为这样会使“e”具有不同的含义,而它已在“父级或当前”范围中表示其他内容了c:\inetpub\wwwroot\federal_wh\manage\loginchek.aspx.cs319http://localhost/federal_wh/




[解决办法]
1。 DataReader 默认“游标”指向第一行数据之前,读取数据,得调用 Read 方法

2。 System.Exception e 变量冲突


[解决办法]
catch (System.Exception e)
==============
catch (System.Exception ex)

[解决办法]
catch (System.Exception e)
==============
catch (System.Exception ex)

[解决办法]
SqlCommand mycommand = new SqlCommand(tSQL, conn);
conn.Open();
SqlDataReader reader = mycommand.ExecuteReader(CommandBehavior.CloseConnection);
if(reader.HasRows)
{
if(reader.Read())
{
Session[ "name "] = reader[ "u_name "].ToString();
Session[ "flag "] = reader[ "u_flag "].ToString();
}
}
else
{
Response.Redirect( "login.aspx ");
}

热点排行