Use the AseDataAdapter object to update rows.
For C#:
AseConnection conn = new AseConnection( c_connStr );
For Visual Basic .NET:
Dim conn As New AseConnection( _ c_connStr )
For C#:
conn.Open();
For Visual Basic .NET:
conn.Open()
For C#:
AseDataAdapter adapter = new AseDataAdapter(); adapter.MissingMappingAction = MissingMappingAction.Passthrough; adapter.MissingSchemaAction = MissingSchemaAction.Add;
For Visual Basic .NET:
Dim adapter As New AseDataAdapter() adapter.MissingMappingAction = _ MissingMappingAction.Passthrough adapter.MissingSchemaAction = _ MissingSchemaAction.Add
The following code creates a Select and an Update command and defines the parameters for the Update command:
For C#:
adapter.SelectCommand = new AseCommand(
"SELECT * FROM publishers WHERE pub_id > '9900'", conn );
adapter.UpdateCommand = new AseCommand(
"UPDATE publishers SET pub_name = @pub_name, " +
"city = @city, state = @state " +
"WHERE pub_id = @pub_id", conn );
adapter.UpdateCommand.UpdatedRowSource =
UpdateRowSource.None;
AseParameter parm = new AseParameter("@pub_id",
AseDbType.Char, 4);
parm.SourceColumn = "pub_id";
parm.SourceVersion = DataRowVersion.Current;
adapter.UpdateCommand.Parameters.Add( parm );
parm = new AseParameter("@pub_name",
AseDbType.VarChar, 40);
parm.SourceColumn = "pub_name";
parm.SourceVersion = DataRowVersion.Current;
adapter.UpdateCommand.Parameters.Add( parm );
parm = new AseParameter("@city",
AseDbType.VarChar, 20);
parm.SourceColumn = "city";
parm.SourceVersion = DataRowVersion.Current;
adapter.UpdateCommand.Parameters.Add( parm );
parm = new AseParameter("@state",
AseDbType.Char, 2);
parm.SourceColumn = "state";
parm.SourceVersion = DataRowVersion.Current;
adapter.UpdateCommand.Parameters.Add( parm );
For Visual Basic .NET:
adapter.SelectCommand = New AseCommand( _
"SELECT * FROM publishers WHERE pub_id > '9900'",_
conn )
adapter.UpdateCommand = New AseCommand( _
"UPDATE publishers SET pub_name = @pub_name, " + _
"city = @city, state = @state " + _
"WHERE pub_id = @pub_id", conn )
adapter.UpdateCommand.UpdatedRowSource = _
UpdateRowSource.None
Dim parm As New AseParameter("@pub_id", _
AseDbType.Char, 4)
parm.SourceColumn = "pub_id"
parm.SourceVersion = DataRowVersion.Current
adapter.UpdateCommand.Parameters.Add( parm )
parm = New AseParameter("@pub_name", _
AseDbType.VarChar, 40)
parm.SourceColumn = "pub_name"
parm.SourceVersion = DataRowVersion.Current
adapter.UpdateCommand.Parameters.Add( parm )
parm = New AseParameter("@city", _
AseDbType.VarChar, 20)
parm.SourceColumn = "city"
parm.SourceVersion = DataRowVersion.Current
adapter.UpdateCommand.Parameters.Add( parm )
parm = New AseParameter("@state", _
AseDbType.Char, 2)
parm.SourceColumn = "state"
parm.SourceVersion = DataRowVersion.Current
adapter.UpdateCommand.Parameters.Add( parm )
For C#:
DataTable dataTable = new DataTable( "publishers" ); int rowCount = adapter.Fill( dataTable );
For Visual Basic .NET:
Dim dataTable As New DataTable( "publishers" ) Dim rowCount As Integer = adapter.Fill( dataTable )
For C#:
foreach ( DataRow row in dataTable.Rows )
{
row[1] = ( string ) row[1] + "_Updated";
}
int recordsAffected = adapter.Update( dataTable );
For Visual Basic .NET:
Dim row as DataRow For Each row in dataTable.Rows row(1) = row(1) + "_Updated" Next Dim recordsAffected As Integer = _ adapter.Update( dataTable )
For C#:
dataTable.Clear(); adapter.SelectCommand.CommandText = "SELECT * FROM publishers"; rowCount = adapter.Fill( dataTable ); dataGrid.DataSource = dataTable;
For Visual Basic .NET:
dataTable.Clear() adapter.SelectCommand.CommandText = _ "SELECT * FROM publishers"; rowCount = adapter.Fill( dataTable ) dataGrid.DataSource = dataTable
For C#:
conn.Close();
For Visual Basic .NET:
conn.Close()