当前位置:编程学习 > C#/ASP.NET >>

注册信息不能录入到数据库中

大哥大姐们 帮我看下吧  这是一段用户注册的代码 自认为没有错误 可是 注册的信息 总是不能录入到数据库的表格中 
  请问 是什么原因啊  为什么信息不能写入数据库呢 



//
            string constr = "Data Source=.;Initial Catalog=MyData;Integrated Security=True";
            SqlConnection con = new SqlConnection(constr);
            con.Open();
            //
            string UserName = TextBox1.Text;
            string UserPwd = TextBox2.Text;
            string UserId= TextBox4.Text;
            string UserEmail = TextBox5.Text;

            string sqlUserAdd = "insert into UserInfo(UserId,UserName, UserPwd,UserEmail) values('" + UserId + "','" + UserName + "','" + UserPwd + "','" + UserEmail + "')";
            SqlCommand cmdUserAdd = new SqlCommand(sqlUserAdd, con);
            cmdUserAdd.ExecuteNonQuery();
            //页面转向
            Response.Redirect("zhuceSuc.aspx");
--------------------编程问答-------------------- 没有执行sql语句 sqlUserAdd  --------------------编程问答-------------------- 没有抛出异常吗? --------------------编程问答-------------------- 只对sqlUserAdd 进行了赋值 但是没用到sqlUserAdd 变量  --------------------编程问答-------------------- 代码不能这样写哦,数据库连接都没有关闭。 --------------------编程问答-------------------- ls的哥哥姐姐啊 我没看懂 能不能说的仔细点 我是菜鸟级的 --------------------编程问答-------------------- 没有抛出异常吗??

try
{
  //...
}
catch (Exception e)
{
  //...
}
--------------------编程问答-------------------- 调试下看看是否执行了你写的那些代码啊,如果执行了会不会抛出异常,看下你的sql语句编写是否正确,比如如果UserID是int类型的话就不需要加单引号的。 --------------------编程问答-------------------- 这段代码你放哪里的??? --------------------编程问答-------------------- 都没有出现什么异常 就是填完信息后 点击按钮注册 然后页面刷新完 在去看数据库表 里面并没有填入的信息 注册没成功 么有录入进去 

这段代码是在BUTTOn 按钮中的 --------------------编程问答-------------------- 设个断点,得到你的SQL语句,,在查询分析器里执行一下!~~ --------------------编程问答-------------------- --------------------编程问答-------------------- 照理说你这样没什么问题的

没有插入数据,应该会抛出异常的

你可以跟踪调试一下,看是代码问题,

还是sql问题,你的sql'不规范,可以跟踪直接到数据库执行一下

另外直接完毕,注意关闭连接
--------------------编程问答-------------------- 另看看这段代码的事件触发了没有 --------------------编程问答-------------------- 1.Sql语句最好用String.Format书写这样明了一些:string sqlUserAdd = String.Format("insert into UserInfo(UserId,UserName, UserPwd,UserEmail) values('{0}','{1}','{2}','{3}')",UserId,UserName, UserPwd,UserEmail);
2.使用try
{
  //...
}
catch (Exception e)
{
  //...
}
但要抛出异常,否则你以后就会为这个小细节吃很多苦头
3.无论是什么流最后都要关闭
4.多使用断点查询错误
5.按你所说和我的推断(不一定正确):就是因为你没有关闭流造成的,因为insert语句它是事务性的,需要在执行完成以后就行提交。在.net的中提交可以通过Close()和事务的Commit实现,如果不提交,数据库是不会更新的。这个问题以前我在Java里遇见过,.net还没有,所以只是推测,你试一下!分析不一定正确,只希望对你有所帮助。 --------------------编程问答-------------------- 不怕大家嘲笑 我真不懂什么流关闭 怎么做 
  恩 还有 你们看这个 这个是可以运行的  和那个没什么区别 但是那个就是不行 
 protected void Button1_Click(object sender, EventArgs e)
    {
        string constr = "Data Source=.;Initial Catalog=web;Integrated Security=True";
        SqlConnection con = new SqlConnection(constr);
        con.Open();
        string username = TextBox1.Text;
        string userid = TextBox2.Text;
        string userpwd = TextBox3.Text;
        string userclass = TextBox5.Text;
        string userpast = TextBox6.Text;
        string sqluseradd = "insert into A_username(username,userid,userpwd,userclass,userpast)values('" + username + "','" + userid + "','" + userpwd + "','" + userclass + "','" + userpast + "')";
        SqlCommand cmduseradd =new SqlCommand(sqluseradd,con);
        cmduseradd.ExecuteNonQuery();
        Response.Redirect("第二注册用户.aspx"); --------------------编程问答-------------------- 请检查你数据库字段有没有int类型的,
如果有的话,在拼接字符串的时候,数字类型的字段就不用加单引号
insert into A_username(username,userid,userpwd,userclass,userpast)values('" + username + "','" + userid + "','" + userpwd + "','" + userclass + "','" + userpast + "')";  --------------------编程问答-------------------- 检查一下你的userId 有没有设成标识列,这个是自动生成的不需要插入 --------------------编程问答-------------------- 检查数据库中对应的字段的类型和'"+  +"'有没有不同的。 --------------------编程问答-------------------- sql语句的问题。用参数传进去,不要拼接sql语句 --------------------编程问答-------------------- 在winXP下有没有打sqlSP4补丁啊?你看下你的1433端口有没有打开? --------------------编程问答-------------------- 没异常说明代码没问题,你把你的sql直接在server里运行看看 --------------------编程问答-------------------- 调试一下代码  跟踪
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,