结尾没有绑定数据。请参照: 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
我是在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("数据库连接不存在。");
这有什么错么???????????哥哥指点
请使用try...Catch Exp As Exception.... 否则只能是你的数据库的表和另外一个表有主键关系,或者根本就是登陆用户没有权限。
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
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("数据库连接不存在。");
这有什么错么???????????哥哥指点
否则只能是你的数据库的表和另外一个表有主键关系,或者根本就是登陆用户没有权限。