The left-hander allowed three runs and seven hits in five innings. He struck out four and walked one.
"I gave up some hits, but you know, I'm not going to be throwing many no-hitters," Davis said. "I'm going to give up my share of hits, and just try to keep the damage down. I felt like I did that today."
Coming into his outing, Davis had given up 10 earned runs and 15 hits in eight spring training innings.
"(Davis) was considerably better today," Arizona manager Bob Melvin said. "He had command of both sides. Much better curveball, changeup was in and out, on both sides of the plate. It was just a lot better outing from him."
Chicago starter Jon Garland has also struggled this spring. After allowing four runs and 11 hits in 5 2-3 innings, he has an 8.66 ERA in 17 2-3 innings.
Arizona regained the lead in the bottom half. Hairston led off with a triple and scored on Alberto Callaspo's sacrifice fly.
Tracy went 2-for-2 with two walks and two RBI, boosting his spring training batting average to .317. Hairston upped his average to .391 by going 2-for-4.
Erstad finished 2-for-4 with a double, two runs scored and two RBI.