If you don't get a Dragon Lance just use the "Reset" ("Return") Spell (Time Magic) and try again. When you've got it, finish the battle and look for another dragon, if you need more Dragon Lances (you really won't need more than 6!).
You'll have to "reset" the battles many times - so be patient!