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();
}
}