Mika hit it on the head with the primary key. But just to expand on why you need a primary key...
... you can (and did) create transactions without a key, but to identify a transaction correctly, every time, you need some way to identify it. It's like if someone asked you to go to a parking lot at a mall, and wanted you to find a certain car. Could you reliably get the right car if they told you it was a Honda? They could give you more information, like the year, model, and color, but there could always be multiple cars matching that description. Yet with just 1 piece of information, the license plate number, you could identify the car, because every car has a unique license plate.
The primary key is to the database what a license plate is to a car. You really (really) want to assign primary keys. By defining a column as a primary key, it will prevent duplicates. Now, you can manually assign a primary key, but by using the IDENTITY on the primary key column, the database will automatically assign it. In fact, you won't need to change your INSERT code to do this!
Now how to you get the primary key when you add a row? Say you're adding a row
INSERT INTO tablename (GNO, TransactionDate, Deposit, Withdrawal) VALUES (1003, '9/6/2011', NULL, 200.00)
You just add the following to the line:
SELECT SCOPE_IDENTITY() from tablename
So you're complete INSERT command would look like:
INSERT INTO tablename (GNO, TransactionDate, Deposit, Withdrawal) VALUES (1003, '9/6/2011', NULL, 200.00) SELECT SCOPE_IDENTITY() from tablename
This will return the primary key to you automatically.