你如果在page_load有绑定数据的话,那么把绑定的代码放到if(!IsPostBack)里

解决方案 »

  1.   

    结尾没有绑定数据。请参照:
    Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommandMe.SqlUpdateCommand1.Parameters("@产品编号").Value = DataGrid1.DataKeys(CInt(e.Item.ItemIndex))Dim Cols As String() = {"@产品", "@库存量", "@单价"}Dim NumCols As Integer = e.Item.Cells.CountDim I As IntegerFor I = 3 To NumCols - 1 '跳过前三列和最后一列Dim CurrentTextBox As TextBoxCurrentTextBox = e.Item.Cells(I).Controls(0)Dim ColValue As String = CurrentTextBox.Text' 检查在所需字段中是否有空值If I < 6 And ColValue = "" ThenLabel1.Text = "错误"ReturnEnd IfMe.SqlUpdateCommand1.Parameters(Cols(I - 3)).Value = ColValueNextMe.SqlUpdateCommand1.Connection.Open()TryMe.SqlUpdateCommand1.ExecuteNonQuery()Label1.Text = "<b>已更新记录</b><br>"DataGrid1.EditItemIndex = -1Catch Exp As ExceptionLabel1.Text = "错误:已存在具有相同主键的记录"End TryMe.SqlUpdateCommand1.Connection.Close()Me.SqlDataAdapter1.Fill(DataSet11, "产品资料")Me.DataGrid1.DataBind()End Sub
      

  2.   

    我是在refresh();中作的
    private void refresh()
    {
    if (myConnection!=null&&myConnection.State.ToString()=="Open")
    {
    if (MyDataAdapter!=null)
    MyDataAdapter.Dispose();
    if (ds!=null)
    ds.Dispose(); MyDataAdapter=new SqlDataAdapter("SELECT * FROM mobile_user ",myConnection);
    ds=new DataSet();
    MyDataAdapter.Fill(ds,"mobile_user");
    MyDataGrid.DataSource=ds.Tables["mobile_user"].DefaultView;
    MyDataGrid.DataBind();
    }
    else
    Response.Write("数据库连接不存在。");

    这有什么错么???????????哥哥指点
      

  3.   

    请使用try...Catch Exp As Exception....
    否则只能是你的数据库的表和另外一个表有主键关系,或者根本就是登陆用户没有权限。