You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET登录WebForm报错CS0136:无法声明局部变量‘cmd’

解决ASP.NET WebForm登录页面的CS0136错误

你遇到的Error CS0136错误,原因是方法BtnIngresar_Click的参数里已经定义了SqlCommand cmd,但你在方法内部又重新声明了同名的局部变量SqlCommand cmd = new SqlCommand(...),同一个作用域内不允许存在同名变量,导致命名冲突。

修正步骤:

  1. 移除按钮点击方法参数里的SqlCommand cmd——ASP.NET WebForm的按钮点击事件标准签名仅需object sender和EventArgs e,不需要额外传入SqlCommand参数。
  2. 方法内部的cmd变量可正常保留,参数里的同名变量移除后就不会再产生冲突。
  3. 推荐使用using语句管理数据库连接和命令对象,自动释放资源,避免手动关闭连接可能引发的异常。

修正后的完整代码:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CONDOMINIO
{
    public partial class LOGIN : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void BtnIngresar_Click(object sender, EventArgs e)
        {
            string conectar = ConfigurationManager.ConnectionStrings["conexion"].ConnectionString;
            
            // 使用using自动释放连接和命令资源
            using (SqlConnection sqlConectar = new SqlConnection(conectar))
            using (SqlCommand cmd = new SqlCommand("INICIARS", sqlConectar)
            {
                CommandType = CommandType.StoredProcedure
            })
            {
                sqlConectar.Open();

                cmd.Parameters.Add("@NOMBRE", SqlDbType.VarChar, 30).Value = tbUsuario.Text;
                cmd.Parameters.Add("@CONTRASENNA", SqlDbType.VarChar, 16).Value = tbPassword.Text;

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    if (dr.Read())
                    {
                        // 添加用户会话
                        Session["usuariologueado"] = tbUsuario.Text;
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                        lblError.Text = "用户名或密码错误";
                    }
                }
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者masipn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:54:53