I am trying to do a simple update to an access database and have used the WebMatrix query builder to get the following
Code:
int doUpdates(int page_id, string page_title, string page_contents) {
string connectionString = ConfigurationSettings.AppSettings["ConnectionString"];
System.Data.IDbConnection dbConnection = new System.Data.OleDb.OleDbConnection(connectionString);
string queryString = "UPDATE [Pages] SET [page_title]=@page_title, [page_contents]=@page_contents WHERE ([Pages].[page_id] = @page_id)";
Response.Write(@page_id);
Response.Write(@page_title);
Response.Write(@page_contents);
System.Data.IDbCommand dbCommand = new System.Data.OleDb.OleDbCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
System.Data.IDataParameter dbParam_page_id = new System.Data.OleDb.OleDbParameter();
dbParam_page_id.ParameterName = "@page_id";
dbParam_page_id.Value = page_id;
dbParam_page_id.DbType = System.Data.DbType.Int32;
dbCommand.Parameters.Add(dbParam_page_id);
System.Data.IDataParameter dbParam_page_title = new System.Data.OleDb.OleDbParameter();
dbParam_page_title.ParameterName = "@page_title";
dbParam_page_title.Value = page_title;
dbParam_page_title.DbType = System.Data.DbType.String;
dbCommand.Parameters.Add(dbParam_page_title);
System.Data.IDataParameter dbParam_page_contents = new System.Data.OleDb.OleDbParameter();
dbParam_page_contents.ParameterName = "@page_contents";
dbParam_page_contents.Value = page_contents;
dbParam_page_contents.DbType = System.Data.DbType.String;
dbCommand.Parameters.Add(dbParam_page_contents);
int rowsAffected = 0;
dbConnection.Open();
try {
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally {
dbConnection.Close();
}
return rowsAffected;
}
which appears to work but rowsAffected comes back as 0 :/
I have checked that all the values are passed into the function,
and have run out of ideas. If someone could check it out for me it would be much appreciated :)
Cheers,
Kev