Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
以下示例显示如何使用 SADataAdapter 的 Update 方法更新表中的行。在本示例中,将向 Departments 表添加两个新行,并使用 SADataAdapter 的 SelectCommand 属性和 Fill 方法将该表提取到 DataTable 中。然后,修改 DataTable 中的一些值,并使用 SADataAdapter 的 UpdateCommand 属性和 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.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;