我正在使用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();
}
答案 0 :(得分:0)
我不确定我是否正确理解你的问题。
在您的应用程序中,用户提供输入(例如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();
});
}