Not charging is generally related to the alternator. And they go bad for various reasons.
With the car idling, the battery voltage should be around 14.4 volts. If headlights or other loads are turned on, the voltage should remain around 14.4 volts. If its 13 or 12, the alternator isn't working. If it's around 14.4, you have a hidden load, OR the battery is quite old, and particles inside the battery have fallen to the bottom, and are discharging the battery internally. Disconnect a battery terminal when you park the car, and reconnect it when you use it. If the battery loses its charge, replace it. This just happened on my own vehicle. The battery was 9.5 years old, by the date code. I never had a battery last beyond 5 years.
Hi a car battery has a life of 2-3 years usually due to the plates becoming encrusted with a sulphide. this prevents the battery becoming charged up so it has no power stored within it. a new battery is the only true answer.
These are two different situations - find out first which one applies and concentrate on the draining or charging components and circuits.
Not charging suggests a faulty battery. Draining - you don't say how fast or if it is connected to anything.....
A faulty battery or a faulty car wiring.
Dead cell in the battery, or bad alternator, or your wires are corroded, had the same problem on my 99 Jeep