How many did he actually capture, and what is the answer to this contradiction?
Ralbag in his commentary to the verse in Chronicles reconciles the contradiction by positing that David first captured 1,700 horsemen, and then when he got to the city of Hadadezer he captured the remainder (thus completing the figure of 7,000).
והנה בספר שמואל כתוב אלף ושבע מאות פרשים וידמה שיאמר בזה כי בפעם אחת לקח ממנו אלף ושבע מאות פרשים ואחר כן כשבא לערי הדרעזר לקח המספר הנשאר מהפרשים
The number given in Samuel represents the initial capture, while the number given in Chronicles represents the total.
I found that the biblical style is to exaggerate numbers to make a point. I do not agree with Rabbi Akiva’s belief. I agree with Rabbi Ishmael that “the Torah (which is intended for humans) speaks in human language.” It is also possible that Chronicles tried to show the biblical characters in a more favorable light, as opposed to the Bible admittance of their flaws. the patriarchs were human. This might explain why Chronicles attributes a greater number to David, 7,000, as opposed to Samuel's 1,000 captured horses. Such a high number extols David.
One more possibility and, this was pointed out to me by one of the commentators, Torahlover613, that according to Redak, Samuel only counted the officers while Chronicles includes everyone. Redak explained:
David captured 1,000 chariots and 7,000 horsemen and 20,000 foot soldiers of his force; and David hamstrung all the chariot horses except for 100, which he retained.
 See Radak on Chronicles 18:4:1