protected void Button1_Click(object sender, EventArgs e)
    {
       
              SqlConnection con = new SqlConnection("server=localhost;database=sutdy;Integrated Security=True;Pooling=False;uid=sa;pwd=");
       SqlCommand sqlcmd = new SqlCommand();
      // SqlCommand cmd = new SqlCommand();
      // cmd.Connection = con;
       con.Open();
    
            DateTime.Now.ToLongTimeString();
            DateTime dt = DateTime.Now;
            dt.ToLocalTime().ToString();
            SqlTransaction st = con.BeginTransaction();//通过SqlConnection的BeginTransaction方法创建名为st的对象Transaction
            SqlCommand cmd = con.CreateCommand();
            cmd.Transaction = st;////将SqlTransaction对象分配给SqlCommand对象的Transaction属性
            try
            {
                //向用户表中插入注册信息
                cmd.CommandText = "insert into tb_Users(UserName,UserPwd,Email,Logo,date) values('" + this.txtname.Text + "','" + this.txtpwd.Text + "','" + this.txtemail.Text + "',,'"+this.ddltouxiang.SelectedValue.ToString()+"','" + dt.ToLocalTime().ToString() + "')";
                cmd.ExecuteNonQuery();
                st.Commit();//提交事物
               
                Response.Redirect("~/Default.aspx");
            }
            catch (Exception error)
            {
                Response.Redirect("~/Default2.aspx");
                 st.Rollback();//回滚事物
            }

解决方案 »

  1.   

      SqlTransaction st = con.BeginTransaction();//通过SqlConnection的BeginTransaction方法创建名为st的对象Transaction
      SqlCommand cmd = con.CreateCommand();
      cmd.Transaction = st;////将SqlTransaction对象分配给SqlCommand对象的Transaction属性 设个断点  看执行的是什么 
      

  2.   

    sql语句this.txtemail.Text后面多了个逗号,改为:
    insert into tb_Users(UserName,UserPwd,Email,Logo,date) values('" + this.txtname.Text + "','" + this.txtpwd.Text + "','" + this.txtemail.Text + "','"+this.ddltouxiang.SelectedValue.ToString()+"','" + dt.ToLocalTime().ToString() + "')";
      

  3.   

    你说的没有报错是不是程序没中断?如果是那有没有跳转到 Default2 这个页面?如果有把 try catch 去掉运行看看有没有在哪中断
      

  4.   

    跳到~/Default2.aspx"!  呵呵, 
      

  5.   

    把 try catch 去掉,再运行,如果报错了,把报错在哪一行和显示的信息发上来
      

  6.   

    数据库的名字对么?
    是 sutdy 还是 study ?
      

  7.   

    你的sql操作语句中多了个逗号,去掉试试
      

  8.   

    string str = string.Format("insert into tb_Users(UserName,UserPwd,Email,Logo,date) values({0},{1},{2},{3},{4}",
    this.txtname.Text, 
    this.txtpwd.Text,
    this.txtemail.Text,
    this.ddltouxiang.SelectedValue.ToString(), 
    dt.ToLocalTime().ToString());
    cmd.CommandText =  str; //在些中断看一下
    //长度检查一下,数据库对应
    //this.ddltouxiang.SelectedValue是否为空
    //数据格式等
      

  9.   

    string str = string.Format("insert into tb_Users(UserName,UserPwd,Email,Logo,date) values({0},{1},{2},{3},{4})", //差个括号
    this.txtname.Text, 
    this.txtpwd.Text,
    this.txtemail.Text,
    this.ddltouxiang.SelectedValue.ToString(), 
    dt.ToLocalTime().ToString());
    cmd.CommandText = str; //在些中断看一下
    //长度检查一下,数据库对应
    //this.ddltouxiang.SelectedValue是否为空
    //数据格式等
      

  10.   

    我晕!!! 后发现是SQL server是问题!!....