[Tutor] Some help Please

Alan Gauld alan.gauld at btinternet.com
Wed Feb 15 19:04:57 CET 2012


On 15/02/12 14:17, JOSEPH MARTIN MPALAKA wrote:
> take an example of updating Bank Accounts,
> gaving the following table:
>
> acc_id		acc_name	    standing_Balance
> mn0001		computer	     20000
>

> cur.execute("UPDATE accounts SET Standing_Amount =
> (Standing_Amount + dep) WHERE Acc_ID = 'MN0001'")

Note that in programming consistency is critically important.
In your table description you have standing_Balance.
In your SQL query you have Standing_Amount

Which is it?

Also the ID is mn0001 and MN0001

which is it?


You also use Acc_ID and acc_id but I believe SQL is universally
case agnostic so you probably get away with that. But its
better to be consistent.

How to format the dep will depend on the data format
of your database. If we assume it's an integer then
you have several options:

1) Calculate the total and insert it into the SQL statement (may require 
a select first to retrieve the current value)

2) Replace dep with the value using a MySql format operation. This 
allows you to validate the value before inserting it.

3) Replace dep with the input string as is (slightly harder to do 
validation)

There are probably more...

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/



More information about the Tutor mailing list