向数据库循环插入多行
本文关键字:插入 循环 数据库 | 更新日期: 2023-09-27 18:11:46
这段代码有什么问题,我实际上要实现的是向数据库插入行,清除文本框值并输入另一条记录。问题是首先循环数据将成功添加…但是在下一次迭代循环中,它会将空字符串添加到数据库的行中,但我想要的是接受来自文本框的输入并继续迭代…请试着阅读代码并帮助我…自从我试图解决这个问题以来已经有2周了。这也是我想做的-user输入群组成员数量-组成员有列,如,名,姓,性别,城市等对于所有组成员(例如:6个组成员)添加6行不同的列将被添加但我的代码是添加第一行,剩下的5行将是空数据对不起,我的英语不好,谁来想想我在想什么
{{
private void btnAddloan_Click(object sender, RoutedEventArgs e)
if (txtname.Text != "" && txtlname.Text != "")
{
int c=0;
int input=int.Parse(txttotalnumberofgroupmembers.Text);
do
{
string connstr = "Data Source=GER-PC''PLEASEGOD;Initial Catalog=ACSI;Integrated Security=True";
SqlConnection con = new SqlConnection(connstr);
con.Open();
SqlCommand cmd = new SqlCommand("insert into Customer(FirstName,LastName) values(@n,@p)", con);
cmd.Parameters.AddWithValue("@p", txtname.Text);
cmd.Parameters.AddWithValue("@n", txtlname.Text);
cmd.ExecuteNonQuery();
con.Close();
lblnotify.Content = c + 1 + "" + "members added";
//clear textbox values and wait for another input
txtname.Text = "";
txtlname.Text = "";
if (txtname.Text != "" && txtlname.Text != "")
{
continue;
}
else
{
MessageBoxResult result =MessageBox.Show("procces","Continue Adding Memebers",MessageBoxButton.YesNoCancel,MessageBoxImage.Warning);
//txtname.Text = s;
//txtlname.Text= s1;
//MessageBox.Show();
switch (result)
{
case MessageBoxResult.Yes:
if (txtname.Text != "")
{
}
else
{
}
break;
case MessageBoxResult.No:
break;
case MessageBoxResult.Cancel:
break;
}
}
c++;
} while (c < input);
}
else
{
MessageBox.Show("plese fill first name and last name");
}
}
正在清除txtname。文本和txtlname。插入后的文本值。在下一次迭代中,您将重新创建Parameters,但这一次您的文本值为EMPTY。
txtname.Text = "";
txtlname.Text = "";
与其重新创建命令对象,不如直接执行命令对象N次。如:
SqlCommand cmd = new SqlCommand("insert into Customer(FirstName,LastName) values(@n,@p)", con);
cmd.Parameters.AddWithValue("@p", txtname.Text);
cmd.Parameters.AddWithValue("@n", txtlname.Text);
for(int i = 0; i < input; i++)
{
cmd.ExecuteNonQuery();
}