user3345212
user3345212

Reputation: 131

C# Insert multiple TextField Values into SQL Server

I have a Panel that contains 3 textfields, in each textfield a user can enter an age. Everything seems to work correctly except the part where it stops if a user enters a number in two or more textfields (The loop is working, it just does not insert the next textfield value into the database) This is the scenario:

Depdent 1 Age: 10
Depdent 1 Age: 12
Depdent 1 Age: 14

What I want to be inserted into my table is the following

ID      age
1       10
2       12
3       14

when I hit submit, it only inserts the first record then throws an error, I know the error is causes by trying to insert two textfield values into a cell in the database however I do not know how to fix it, my table has an ID field which is a primary key and auto increment. Any advises are appreciated. Thank you.

Here is my code:

const string query = "INSERT INTO deductible (age) VALUES (@age)";
using (var command = new SqlCommand(query, conn))
{
foreach (TextBox tb in Panel1.Controls.OfType<TextBox>())
{
    if (tb.Text != "0")
    {
        command.Parameters.AddWithValue("@age", tb.Text);
        command.ExecuteNonQuery();
    }
}

Upvotes: 0

Views: 458

Answers (1)

Selman Gen&#231;
Selman Gen&#231;

Reputation: 101721

Use SqlParameterCollection.Clear Method after executing the query:

if (tb.Text != "0")
{
    command.Parameters.AddWithValue("@age", tb.Text);
    command.ExecuteNonQuery();
    command.Parameters.Clear();
}

Upvotes: 2

Related Questions