Click here to Skip to main content
16,021,115 members

Comments by Sego Turan (Top 2 by date)

Sego Turan 27-Jul-12 10:15am View    
Thank for the comments OriginalGriff. I am new here.
I tryed to use the command outside the block, but it does not change the column.
Can you try to write it, meybe i dont understand it.

I understand it like that.

OleDbConnection conn = new OleDbConnection(My db path));
string status = null;
bool setToFalse = false;


string updateSql = "UPDATE Watchreceipt SET valid = @valid WHERE Dato BETWEEN @startDate AND @endDate AND DriverIDFK = @DriverIDFK";


conn.Open();
OleDbTransaction sqltrans = conn.BeginTransaction();


OleDbCommand updateCmd = conn.CreateCommand();
updateCmd.CommandText = updateSql;

updateCmd.Parameters.AddWithValue("@startDate", startDate);
updateCmd.Parameters.AddWithValue("@endDate", endDate);
updateCmd.Parameters.AddWithValue("@DriverIDFK", UserMapper.driverNumber);

updateCmd.Transaction = sqltrans;

try
{

updateCmd.Parameters.Add("@valid", OleDbType.Boolean);
updateCmd.Parameters["@valid"].Value = setToFalse;

updateCmd.ExecuteNonQuery();
sqltrans.Commit();


status = "Ok";
}
catch (OleDbException odbe)
{
sqltrans.Rollback();
System.Windows.Forms.MessageBox.Show("Rolled back\n" + odbe.Message);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Systemfejl\n" + ex.Message);
}
finally
{
conn.Close();
}

return status;


did I understand it correct?
Sego Turan 27-Jul-12 8:35am View    
Thanks for the comment.
I have add the character '@' to startDate but it give me the same problem.

Here is my code

public string UpdateValid(DateTime startDate, DateTime endDate)
{
OleDbConnection conn = new OleDbConnection("my own database setup");
string status = null;

conn.Open();
OleDbCommand cmd = conn.CreateCommand();

cmd.CommandText = "UPDATE Watchreceipt SET valid = @valid WHERE Dato BETWEEN @startDate AND @endDate AND DriverIDFK = @DriverIDFK";

cmd.Parameters.AddWithValue("@startDate", startDate);
cmd.Parameters.AddWithValue("@endDate", endDate);
cmd.Parameters.AddWithValue("@DriverIDFK", UserMapper.driverNumber);

OleDbTransaction sqltrans = cmd.Connection.BeginTransaction();

try
{
OleDbCommand updateCmd = cmd.Connection.CreateCommand();
updateCmd.CommandText = cmd.CommandText;
updateCmd.Transaction = sqltrans;


updateCmd.Parameters.Add("@valid", OleDbType.Boolean);
updateCmd.Parameters["@valid"].Value = false;

updateCmd.ExecuteNonQuery();
sqltrans.Commit();


status = "Ok";
}
catch (OleDbException odbe)
{
sqltrans.Rollback();
System.Windows.Forms.MessageBox.Show("Rolled back\n" + odbe.Message);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Systemfejl\n" + ex.Message);
}
finally
{
conn.Close();
}

return status;

}