To add dynamic TextBoxes in windows forms
TextBox[] txtBoxes = new TextBox[userValue];
for (int i = 0; i < txtBoxes.Length; i++)
{
var txt = new TextBox();
txtBoxes[i] = txt;
}
This will initialize the textboxes. Later you can use them to get the input.
Inserting in databases is not a single line answer. At least not before you learn how to work with databases.
So its better you go through this link