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