Looking at your comments on your question, it looks like you want each time he presses the button to add a file to the db - in which case you don't want a loop at all: you will get a Click event each time he presses the button, so do one each time he presses it.
Then, the only complications are:
1) You need to activate your OpenFileDialog in the click handler to get a new file:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
DBClass db = DBClass.GetInstance();
...
}
Though I would probably create the OpenFileDialog instance as part of the event handler, rather than embedding one in my form.
2) You need to look at adding a new LinkLabel each time he clicks - if you just recycle the existing one then you can only show the last file link. However, you need to work out where you are going to put them - I can't do that for you - but the general code is:
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
LinkLabel ll = new LinkLabel();
ll.Text = ofd.FileName;
ll.Location = new Point(100, 100);
Controls.Add(ll);
}
You will need to set the location to your point (which shouldn't be the same each time...) and you probably need to hook up some events as well.
3) You should look at your database code as well: Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.