C# 根据文本框的数量向数据库添加新行

C# 根据文本框的数量向数据库添加新行,c#,winforms,C#,Winforms,我使用的是windows窗体-我有x个文本框,这取决于用户是否指定x=2、3、4或5是需要添加到我的数据库中的行数。由于用户只会在x数量的文本框中添加信息-到目前为止,我已经得到了代码的前半部分,我只是不知道如何使用循环实现文本框部分 for (int x = 0; x <= TextBox.Count - 1; x++)// This is where I struggle for each textbox { MAcon.Open();

我使用的是windows窗体-我有x个文本框,这取决于用户是否指定x=2、3、4或5是需要添加到我的数据库中的行数。由于用户只会在x数量的文本框中添加信息-到目前为止,我已经得到了代码的前半部分,我只是不知道如何使用循环实现文本框部分

    for (int x = 0; x <= TextBox.Count - 1; x++)// This is where I struggle for each textbox
    {
        MAcon.Open();
        OleDbCommand cmd = new OleDbCommand("Insert into [Parts Inventroy]([Part ID],[Part Name],[Product Family ID] values(@PartID, @PartName, @ProductFamilyID)", MAcon);
        cmd.Parameters.AddWithValue("@ProductFamilyID", pfName.Text);
        cmd.ExecuteNonQuery();
        MAcon.Close();
    }

for(intx=0;x我不确定我是否正确理解了你的问题

在您的应用程序中,用户提供一个输入(比如X)。根据该数字,您创建X个文本框。然后从所有这些文本框中,您获取用户输入并将其放入数据库中

如果上述内容正确,您可以通过以下方式实现:

// Private member to hold the use created textboxes
List<TextBox> textboxes = new List<TextBox>();

// Sample code for your actual method where textboxes are added
public void UserAddsTextBoxes(int userInput)
{
    for (int index = 0; index < userInput; index++)
    {
        TextBox current = new TextBox();
        Controls.Add(current);

        // Also add it to our list for later
        textboxes.Add(current);
    }
}

public void OnSavingData()
{
    textboxes.ForEach(x =>
    {
        MAcon.Open();
        OleDbCommand cmd = new OleDbCommand("Insert into [Parts Inventroy]([Part ID],[Part Name],[Product Family ID] values(@PartID, @PartName, @ProductFamilyID)", MAcon);
        cmd.Parameters.AddWithValue("@ProductFamilyID", x.Text);
        cmd.ExecuteNonQuery();
        MAcon.Close();
    });
}
//保存使用创建的文本框的私有成员
列表文本框=新列表();
//添加文本框的实际方法的示例代码
public void useraddstextbox(int userInput)
{
for(int index=0;index
{
MAcon.Open();
OleDbCommand cmd=新的OleDbCommand(“插入到[Parts Inventroy]([Part ID]、[Part Name]、[Product FamilyId]值(@PartID、@PartName、@ProductFamilyID)”,MAcon);
cmd.Parameters.AddWithValue(“@ProductFamilyID”,x.Text);
cmd.ExecuteNonQuery();
MAcon.Close();
});
}

你了解了循环的<>代码吗?正如@ MJWEVER所说,循环通过你的控件。也许考虑使用DATAGID添加行而不是可变数量的控件。看起来更好,并且在编辑或删除时更容易处理。这是Windows窗体还是ASP.NET?它是Windows窗体。