DataAdapter.Update() method updates only DataRow(s) (of DataTable)
having RowState = Added, Deleted or Modified

When you first time fill the DataTable using DataAdapter.Fill() method
all the DataRows have RowState = Unchanged


On Apr 9, 7:07 am, JeffNielson <[email protected]> wrote:
> My code below gives no errors, but it doesn't actually update the
> database (Access 2000, I believe).  If I copy the query from the
> console (see that I writeline it), it will run in Access with no
> problems.  I use VS2005.  Yes, I am checking the database in the bin
> directory.
>
> Thanks.
>
> private void updateGeoCodes(double lat, double lon, object p_3, object
> p_4, object p_5, object p_6, object p_7, object p_8, object p_9)
>         {
>
>             //this is where i update the geocodes
>             string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source=|DataDirectory|\\EmergencyPreparedness.mdb;Persist Security
> Info=True";
>             string qry = @"Update [Membership Master] Set Latitude = "
> + lat + ", Longitude = " + lon + " Where ";
>             qry += " [Street 1]= '" + p_3;
>             qry += "' AND ([Street 2]= '" + p_4 + "' OR [Street 2] is
> null) ";
>             qry += "  AND ([D/P]= '" + p_5 + "' OR [D/P] is null) ";
>             qry += "  AND ([City]= '" + p_6 + "' OR [City] is null) ";
>             qry += "  AND ([State/Prov]= '" + p_7 + "' OR [State/Prov]
> is null) ";
>             qry += "  AND ([Country]= '" + p_8 + "' OR [Country] is
> null) ";
>             qry += "  AND ([Postal]= '" + p_9 + "' OR [Postal] is
> null) ";
>
>             Console.WriteLine(qry);
>
>             OleDbConnection conn = new OleDbConnection(connString);
>
>             try
>             {
>                 OleDbDataAdapter da = new OleDbDataAdapter("SELECT
> [Membership Master].[Street 1], [Membership Master].[Street 2],
> [Membership Master].[D/P], [Membership Master].City, [Membership
> Master].Postal, [Membership Master].[State/Prov], [Membership
> Master].Country, [Membership Master].Latitude, [Membership
> Master].Longitude from [Membership Master]", conn);
>                 da.UpdateCommand = new OleDbCommand(qry, conn);
>                 DataTable dt = new DataTable();
>                 da.Fill(dt);
>                 da.Update(dt);
>
>             }
>             catch (Exception err)
>             {
>                 Console.WriteLine("Error: " + err);
>             }
>             finally
>             {
>                 conn.Close();
>             }
>         }

Reply via email to