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 の DeleteCommand プロパティと Update メソッドを使用して、DataTable からの Departments テーブルを更新します。
SAConnection conn = new SAConnection( "Data Source=SQL Anywhere 12 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.AddWithKey; da.SelectCommand = new SACommand( "SELECT * FROM Departments", conn); da.DeleteCommand = new SACommand( "DELETE FROM Departments WHERE DepartmentID = ?", conn); da.DeleteCommand.UpdatedRowSource = UpdateRowSource.None; SAParameter parm = new SAParameter(); parm.SADbType = SADbType.Integer; parm.SourceColumn = "DepartmentID"; parm.SourceVersion = DataRowVersion.Original; da.DeleteCommand.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.Delete(); } } rowCount = da.Update(dataTable); dataTable.Clear(); rowCount = da.Fill(dataTable); conn.Close(); dataGridView1.DataSource = dataTable;