所以我被这个问题难住了。
我需要获取另一个表(tbladdbenefit)的所有列值,并将它们添加到另一个表(payrolltable)中,然后将第一个表的所有值插入到单个单元格中。
在本例中,我尝试将列"benefit"的所有值插入到新表中的单个"benefit"单元格中,对于"BenefitAmount"也是如此。
到目前为止,我正在使用参数。AddWithValue,但没有效果。我有2列数据受益于第一个表,但它只显示我突出显示的记录。这不是我想做的。我想显示和添加我的父表的所有记录
有什么建议吗?
cmd = new SqlCommand("INSERT INTO payrolltable " +
"(Name, " +
"Position, " +
"Honoraria, " +
"Total, " +
"Benefit, " +
"BenefitAmount, " +
"Deduction, " +
"DeductionAmount) " +
"VALUES " +
"(@name, " +
"@position, " +
"@honoraria, " +
"@total, " +
"@benefit, " +
"@benefitamount, " +
"@deduction, " +
"@deductionamount)", con);
cmd.Parameters.AddWithValue("@name", txtfname.Text + " " + txtlname.Text);
cmd.Parameters.AddWithValue("@position" , txtposition.Text);
cmd.Parameters.AddWithValue("@honoraria", txtsalary.Text);
cmd.Parameters.AddWithValue("@total", 323232);
cmd.Parameters.AddWithValue("@benefit", SqlDbType.VarChar);
cmd.Parameters.AddWithValue("@benefitamount", SqlDbType.BigInt);
cmd.Parameters.AddWithValue("@deduction", " ");
cmd.Parameters.AddWithValue("@deductionamount", " ");
for (int i = 0; i < tbladdbenefit.Rows.Count - 1; i++)
{
cmd.Parameters["@benefit"].Value = tbladdbenefit.Rows[i].Cells[1].Value;
cmd.Parameters["@benefitamount"].Value = tbladdbenefit.Rows[i].Cells[2].Value;
}
1条答案
按热度按时间jbose2ul1#
有几种方法可以在数据库表的一列中存储多个值。
您可以将其存储为CSV(逗号分隔值)、JSON或XML,但当您想要更新此列值或想要查询此表时,它会有其缺点。
另外,也可以参考this。
按要求提供样品:
请按照示例来帮助您理解概念。