| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 204 人关注过本帖
标题:求助,三层架构插入数据的时候老是报异常..(已解决)
收藏  订阅  推荐  打印 
jevonsjin
Rank: 2
等级:注册会员
威望:1
帖子:59
积分:714
注册:2007-4-25
求助,三层架构插入数据的时候老是报异常..(已解决)

具体代码:
public class SqlHelper
    {
        readonly static string ConnStr = ConfigurationManager.ConnectionStrings["SqlCon"].ConnectionString;
        public static SqlCommand PrePareCommand(string sqlstr,SqlParameter[] para)
        {
            SqlConnection con = new SqlConnection(ConnStr);
            SqlCommand cmd = new SqlCommand(sqlstr,con);
            if(para!=null)
            {
                cmd.Parameters.AddRange(para);
            }
            return cmd;
        }
        public static int ExcuteNonQuery(string sqlstr,SqlParameter[] para)
        {
            SqlCommand cmd = PrePareCommand(sqlstr, para);
            

            try
            {
                cmd.Connection.Open();
                return cmd.ExecuteNonQuery();
            }
            finally
            {
                cmd.Connection.Close();
            }
        }

        public static SqlDataReader ExcuteReader(string sqlstr, SqlParameter[] para)
        {
            SqlCommand cmd = PrePareCommand(sqlstr,para);
            cmd.Connection.Open();
            SqlDataReader sdr = cmd.ExecuteReader( CommandBehavior.CloseConnection);
            return sdr;
        }
      
    }


DAL层中用下面这个方法插数据
public bool Insert(string name,string pwd,string sex,string email,string address)
        {
            string sqlStr = "insert into UserInfo (UName,UPwd,USex,UEmail,UAddress) values (@name,@pwd,@sex,@email,@address)";
            
            SqlParameter [] paras = new SqlParameter[]{
            new SqlParameter("@uname",name),
            new SqlParameter("@upwd",pwd),
            new SqlParameter("@usex",sex),
            new SqlParameter("@uemail",email),
            new SqlParameter("@uaddress",address)
            };
            if (SqlHelper.ExcuteNonQuery(sqlStr,paras) > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
            

        }

BLL层
public bool InsertUser(string name, string pwd, string sex, string email, string address)
        {
            return us.Insert(name,pwd, sex,email,address);
        }

页面中
protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string name = this.txtName.Text;
        string pwd = this.txtPwd.Text;
        string sex = string.Empty;
        string email = this.txtEmail.Text;
        string address = this.txtAddress.Text;
        if (this.radM.Checked)
        {
            sex = "男";
        }
        else
        {
            sex = "女";
        }
        bool flag = um.InsertUser(name, pwd, sex, email, address);

        if (flag)
        {
            
        }
        
        
    }
异常的地方是SqlHelper类中 return cmd.ExecuteNonQuery(); 说"="号附近有语法错误
try
            {
                cmd.Connection.Open();
                return cmd.ExecuteNonQuery();
            }
            finally
            {
                cmd.Connection.Close();
            }


弄了很久不知道哪里写错了
请大家看一看
谢谢

[ 本帖最后由 jevonsjin 于 2008-9-14 03:22 编辑 ]
搜索更多相关主题的帖子: 数据  架构  
2008-9-14 03:10
jevonsjin
Rank: 2
等级:注册会员
威望:1
帖子:59
积分:714
注册:2007-4-25

找到地方了原来sql语句写错了...
2008-9-14 03:22
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051202 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved