Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
次の例は、SADataAdapter の Update メソッドを使用してテーブルにローを追加する方法を示します。この例では、SADataAdapter の SelectCommand プロパティと Fill メソッドを使用して、Departments テーブルを DataTable にフェッチします。次に、2 つの新しいローを DataTable に追加し、SADataAdapter の InsertCommand プロパティと Update メソッドを使用して、DataTable からの Departments テーブルを更新します。
SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 Demo" ); conn.Open(); SACommand deleteCmd = new SACommand( "DELETE FROM Departments WHERE DepartmentID >= 600", conn); deleteCmd.ExecuteNonQuery(); SADataAdapter da = new SADataAdapter(); da.MissingMappingAction = MissingMappingAction.Passthrough; da.MissingSchemaAction = MissingSchemaAction.Add; da.SelectCommand = new SACommand( "SELECT * FROM Departments", conn ); da.InsertCommand = new SACommand( "INSERT INTO Departments( DepartmentID, DepartmentName ) " + "VALUES( ?, ? )", conn ); da.InsertCommand.UpdatedRowSource = UpdateRowSource.None; SAParameter parm = new SAParameter(); parm.SADbType = SADbType.Integer; parm.SourceColumn = "DepartmentID"; parm.SourceVersion = DataRowVersion.Current; da.InsertCommand.Parameters.Add( parm ); parm = new SAParameter(); parm.SADbType = SADbType.Char; parm.SourceColumn = "DepartmentName"; parm.SourceVersion = DataRowVersion.Current; da.InsertCommand.Parameters.Add( parm ); DataTable dataTable = new DataTable( "Departments" ); int rowCount = da.Fill( dataTable ); DataRow row1 = dataTable.NewRow(); row1[0] = 600; row1[1] = "Eastern Sales"; dataTable.Rows.Add( row1 ); DataRow row2 = dataTable.NewRow(); row2[0] = 700; row2[1] = "Western Sales"; dataTable.Rows.Add( row2 ); rowCount = da.Update( dataTable ); dataTable.Clear(); rowCount = da.Fill( dataTable ); conn.Close(); dataGridView1.DataSource = dataTable;