SqlCommand cmm= new SqlCommand("addtest", cn); 
                cmm.CommandType = CommandType.StoredProcedure; 
                cmm.Parameters.Add("@test1", SqlDbType.VarChar, 50); 
                cmm.Parameters["@test1"].Value = DropDownList1.SelectedItem.Value.ToString();                 cmm.Parameters.Add("@test2", SqlDbType.VarChar, 50); 
                cmm.Parameters["@test2"].Value = RadioButtonList1.SelectedItem.Value.ToString(); cmm漏掉了执行的一行代码

解决方案 »

  1.   

    请问,cmm漏掉了执行的一行代码,是什么?哪一行,怎么修改?
      

  2.   

    cmm执行了么? 好像没看到
      

  3.   

    你这个例子问题多了1. 更新的存储过程没有where判断
    2. 执行的时候没有cmd.ExecuteNonQuery();
      

  4.   

    存储过程可以这些写    CREATE PROCEDURE [addtest] 
        (
            @test1 [varchar](50), 
            @test2 [varchar](50), 
            @code [varchar](50) 
        ) 
        AS 
        if exists(select 1 from village where code= @code)
            update [village] 
            set test1=@test1, test2=@test2 
            where code = @code
        GO 代码
    Label2.Text = string.Empty;
    string strcoon = ConfigurationSettings.AppSettings["ConnectionString"]; 
    SqlConnection cn = new SqlConnection(strcoon); SqlCommand cmm= new SqlCommand("addtest", cn); 
    cmm.CommandType = CommandType.StoredProcedure; 
    cmm.Parameters.AddWithValue("@test1",DropDownList1.SelectedValue); 
    cmm.Parameters.AddWithValue("@test2",RadioButtonList1.SelectedValue);
    cmm.Parameters.AddWithValue("@code", Label1.Text);
    try 
    {         
    cn.Open(); 
        cmm.ExecuteNonQuery();
        TextBox1.Text = DropDownList1.SelectedValue + RadioButtonList1.SelectedValue; 
    }
    catch (Exception)
    {
    Label2.Text = "数据读取不成功"; 
    }
    finally
    {
        cn.Close(); 
    }  这样只要用去一次数据库