none
在此上下文中不允许使用 'user_name'。此处只允许使用常量、表达式或变量。不允许使用列名。 RRS feed

  • 问题

  • 1.UI层

    using System;
    using System.Data;
    using System.Configuration;
    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;
    using BLL;
    using Model;

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

        }
        protected void btnAddUser_Click(object sender, EventArgs e)
        {
            Model.userModel Muser = new userModel();
            Muser.Name = this.txbUserName.ToString();
            BLL.userBLL Ubll = new userBLL();
            Muser.Pwd = this.txbUserPwd.ToString();
         
            if (userBLL.addUser(Muser)>0) {
                Response.Write("成功");
               
            }
                else{
                   Response.Write("失败");
                }
          
        }
    }

     

    2.BLL层

    using System;
    using System.Collections.Generic;
    using System.Text;
    using DLL;
    using Model;

    namespace BLL
    {
        public class userBLL
        {
            public static int addUser(userModel user)
            {
                userDLL dl=new userDLL();

                return  Int32.Parse(dl.addUser(user));
            }
        }
    }

    3.DLL层

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Configuration;
    using Model;
    using System.Data.SqlClient;
    namespace DLL
    {
      
      
        public class userDLL
        {
            public static string strcon=ConfigurationManager.AppSettings["sqlcon"];
            SqlConnection con = new SqlConnection(strcon);
            public string  addUser(Model.userModel user) {
                string sql = "insert into user_tb values(user_name='"+user.Name+"' and user_pwd='"+user.Pwd+"')";
                SqlCommand com = new SqlCommand(sql,con);
                con.Open();
                return Convert.ToString(com.ExecuteNonQuery());
            }
        }
    }

     

     

     

     

     

     

    在此上下文中不允许使用 'user_name'。此处只允许使用常量、表达式或变量。不允许使用列名。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.SqlClient.SqlException: 在此上下文中不允许使用 'user_name'。此处只允许使用常量、表达式或变量。不允许使用列名。

    源错误:

    行 17:       SqlCommand com = new SqlCommand(sql,con);
    行 18: con.Open();
    行 19: return Convert.ToString(com.ExecuteNonQuery());
    行 20: }
    行 21: }


    you are welcome
    2011年1月20日 13:23

答案

  • 您好,插入的sql有问题。

    请参考:string sql = "insert into user_tb (user_name, user_pwd) values('" + user.Name + "',  '" + user.Pwd + "')";

    2011年1月20日 13:53
    版主

全部回复