Mark Scott Lane, 50, of Littleton is charged with seven felony counts of cruelty to animals.
In a news release, the Halifax County Sheriff's Office and the Halifax County Animal Control said they determined that it happened sometime between September 9 and 10 at a creek on Weaver Chapel Road in the Littleton area.
During the investigation, officers said they found that two of the puppies were dead when Lane put them in the bag and seven were still alive.
Authorities say the puppies were retrieved from the water. The seven that were still alive were taken to a rescue shelter where they later died.
Lane's bond was set at $35,000.