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

.net中使用update语句执行不成功!我没分送了。大哥们帮帮忙

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bookshopConnectionString"].ConnectionString);
        conn.Open();
        SqlCommand com = new SqlCommand("update bookinfo set type=@type,bookname=@bookname,author=@author,translator=@translator,publisher=@publisher,price=@price,discount=@discount,cover=@cover,introduce=@introduce,hit=@hit,quantity=@quantity where id='" + Label1.Text + "'",conn);
        com.Parameters.AddWithValue("@type", TextBox2.Text);
        com.Parameters.AddWithValue("@bookname", TextBox1.Text);
        com.Parameters.AddWithValue("@author", TextBox3.Text);
        com.Parameters.AddWithValue("@translator", TextBox4.Text);
        com.Parameters.AddWithValue("@publisher", TextBox5.Text);
        com.Parameters.AddWithValue("@price", TextBox6.Text);
        com.Parameters.AddWithValue("@discount", TextBox7.Text);
        com.Parameters.AddWithValue("@cover", TextBox8.Text);
        com.Parameters.AddWithValue("@introduce", TextBox9.Text);
        com.Parameters.AddWithValue("@hit", Label11.Text);
        com.Parameters.AddWithValue("@quantity", TextBox10.Text);
       
        SqlDataReader dr = com.ExecuteReader();
        if (dr.Read())

        {
            Response.Write("<script>alert('修改成功!');location.href='bookdetails.aspx'</script>");
            conn.Close();
        }
        else
        {
            Response.Write("<script>alert('修改失败!')</script>");
        } --------------------编程问答-------------------- --------------------编程问答-------------------- 帮帮忙!谢谢了 --------------------编程问答-------------------- 报什么错啊? --------------------编程问答-------------------- 为什么要ExecuteReader()呢? --------------------编程问答-------------------- 告诉下报什么错 --------------------编程问答-------------------- 没执行呀!! --------------------编程问答-------------------- 要用 int i=com.ExcuteNoneQuary();啊 不能用SqlDataReader dr = com.ExecuteReader(); 
i大于0就表示更新成功了。
--------------------编程问答-------------------- 没执行的原因也可能是数据库里的约束关系导致的。 --------------------编程问答-------------------- 把SqlDataReader dr = com.ExecuteReader();
        if (dr.Read()) 
换成if(com.ExcuteNoneQuary()==1) --------------------编程问答-------------------- com.ExcuteNoneQuary() --------------------编程问答-------------------- 要用 int i=com.ExcuteNoneQuary();啊 不能用SqlDataReader dr = com.ExecuteReader(); 
i大于0就表示更新成功了。 

这个回答是对的,查询时应SqlDataReader dr = com.ExecuteReader(); 

增加,删除,修改用int i=com.ExcuteNoneQuery();

--------------------编程问答-------------------- 是啊,怎么能范这种错误,com.ExecuteReader(); 是读取数据
com.ExcuteNoneQuery(); 才是执行语句啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 我用了com.ExcuteNoneQuery();显示更改成功,可是数据库中的数据还是不变啊 --------------------编程问答--------------------
引用 7 楼 whatisma 的回复:
要用 int i=com.ExcuteNoneQuary();啊 不能用SqlDataReader dr = com.ExecuteReader(); 
i大于0就表示更新成功了。 


完全正确!! --------------------编程问答-------------------- SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["bookshopConnectionString"].ConnectionString); 
        conn.Open(); 
        SqlCommand com = new SqlCommand("update bookinfo set type=@type,bookname=@bookname,author=@author,translator=@translator,publisher=@publisher,price=@price,discount=@discount,cover=@cover,introduce=@introduce,hit=@hit,quantity=@quantity where id='" + Label1.Text + "'",conn); 
        com.Parameters.AddWithValue("@type", TextBox2.Text); 
        com.Parameters.AddWithValue("@bookname", TextBox1.Text); 
        com.Parameters.AddWithValue("@author", TextBox3.Text); 
        com.Parameters.AddWithValue("@translator", TextBox4.Text); 
        com.Parameters.AddWithValue("@publisher", TextBox5.Text); 
        com.Parameters.AddWithValue("@price", TextBox6.Text); 
        com.Parameters.AddWithValue("@discount", TextBox7.Text); 
        com.Parameters.AddWithValue("@cover", TextBox8.Text); 
        com.Parameters.AddWithValue("@introduce", TextBox9.Text); 
        com.Parameters.AddWithValue("@hit", Label11.Text); 
        com.Parameters.AddWithValue("@quantity", TextBox10.Text); 
      
        int result=com.ExecuteNonQuery(); 
        if (result>0) 

        { 
            Response.Write(" <script>alert('修改成功!');location.href='bookdetails.aspx' </script>"); 
            conn.Close(); 
        } 
        else 
        { 
            Response.Write(" <script>alert('修改失败!') </script>"); 
        } --------------------编程问答-------------------- 显示更改成功而数据库数据没变?那你把你的语句放查询分析器里运行下,看看能不能更改成功。 --------------------编程问答--------------------

where id=" + Label1.Text + "",

改成这样试下
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,