代码:
conn1.ConnectionString = "Server=sam;Database=Northwind;UID=sa;PWD="
        conn1.Open()
        Dim sqlstr As String = "select Categoryid,Categoryname,Description from Categories"
        Dim ad1 As New SqlDataAdapter(sqlstr, conn1)
        Dim ds1 As New DataSet
        Dim cb As New SqlCommandBuilder
        ad1.Fill(ds1, "catetable")
        Dim row1 As DataRow = ds1.Tables("catetable").NewRow
        row1("Categoryname") = TextBox1.Text
        row1("Description") = TextBox2.Text
        ds1.Tables("catetable").Rows.Add(row1)
        ad1.Update(ds1, "catetable")错误是:
当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 当传递具有新行的 DataRow 集合时,更新要求有效的 InsertCommand。源错误: 
行 56:         row1("Description") = TextBox2.Text
行 57:         ds1.Tables("catetable").Rows.Add(row1)
行 58:         ad1.Update(ds1, "catetable")
行 59:         DataGrid1.DataSource = ds1.Tables("catetable")
行 60:         DataGrid1.DataBind()