绑定部分:Sub BindGrid() dim MyConnection as OleDbConnection MyConnection= new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test1.mdb")) Dim DS As DataSet Dim MyCommand As OleDbDataAdapter
MyCommand = new OleDbDataAdapter("select * from TEST", MyConnection)
DS = new DataSet MyCommand.Fill(DS)
grid1.DataSource=DS.Tables(0).DefaultView grid1.DataBind() End Sub我做单步调试,总是过不去: ================================= …… Dim UpdateCmd As String = "UPDATE TEST SET name = @name,address = @address,zip = @zip where id = @id "MyCommand = New OleDbCommand(UpdateCmd, MyConnection)
Dim Cols As String() = {"@INGNO","@RUNNO","@DIAMETER"} Dim CurrentTextBox As TextBoxMyCommand.Parameters.Add(New OleDbParameter("@Id", OleDbType.VarChar, 40)) MyCommand.Parameters("@Id").Value = grid1.DataKeys(CInt(E.Item.ItemIndex))
MyCommand.Parameters.Add(New OleDbParameter("@name", OleDbType.VarChar, 40)) CurrentTextBox = E.Item.Cells(2).Controls(0) Dim ColValue As String = CurrentTextBox.Text MyCommand.Parameters(Cols(1)).Value = ColValue
If Not (IsPostBack)
BindGrid()
End If
panel1.visible=false
End Sub
相应的字段你有没有搞错呀.
有时BindGrid()的原因,绑定不生效的
dim MyConnection as OleDbConnection
MyConnection= new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test1.mdb"))
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
MyCommand = new OleDbDataAdapter("select * from TEST", MyConnection)
DS = new DataSet
MyCommand.Fill(DS)
grid1.DataSource=DS.Tables(0).DefaultView
grid1.DataBind()
End Sub我做单步调试,总是过不去:
=================================
……
Dim UpdateCmd As String = "UPDATE TEST SET name = @name,address = @address,zip = @zip where id = @id "MyCommand = New OleDbCommand(UpdateCmd, MyConnection)
Dim Cols As String() = {"@INGNO","@RUNNO","@DIAMETER"}
Dim CurrentTextBox As TextBoxMyCommand.Parameters.Add(New OleDbParameter("@Id", OleDbType.VarChar, 40))
MyCommand.Parameters("@Id").Value = grid1.DataKeys(CInt(E.Item.ItemIndex))
MyCommand.Parameters.Add(New OleDbParameter("@name", OleDbType.VarChar, 40))
CurrentTextBox = E.Item.Cells(2).Controls(0)
Dim ColValue As String = CurrentTextBox.Text
MyCommand.Parameters(Cols(1)).Value = ColValue
MyCommand.Parameters.Add(New OleDbParameter("@address", OleDbType.VarChar, 40))
CurrentTextBox = E.Item.Cells(3).Controls(0)
ColValue = CurrentTextBox.Text
MyCommand.Parameters(Cols(2)).Value = ColValue
MyCommand.Parameters.Add(New OleDbParameter("@zip",OleDbType.VarChar, 40))
CurrentTextBox = E.Item.Cells(4).Controls(0)
ColValue = CurrentTextBox.Text
MyCommand.Parameters(Cols(3)).Value = ColValue=============================================
这样对不对,系统总说“System.IndexOutOfRangeException: 此 OleDbParameterCollection 中未包含带有 ParameterName“@address”的 OleDbParameter。
”,这又是为什么呢?