Asp.net mvc 如何在数据库中插入多个动态行值
我正在使用此代码,但它只接受一个值,但我想将多个值保存到数据库中?请尝试以下操作:Asp.net mvc 如何在数据库中插入多个动态行值,asp.net-mvc,Asp.net Mvc,我正在使用此代码,但它只接受一个值,但我想将多个值保存到数据库中?请尝试以下操作: public void create(account_detail c, int jobcard_id) { SqlConnection con = new SqlConnection(@"Data source =(LocalDB)\v11.0;AttachDbFilename=C:\Users\Wattabyte Inc\Documents\CarInfo.mdf;I
public void create(account_detail c, int jobcard_id)
{
SqlConnection con = new SqlConnection(@"Data source =(LocalDB)\v11.0;AttachDbFilename=C:\Users\Wattabyte Inc\Documents\CarInfo.mdf;Integrated Security=True;");
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
foreach (var details in c.Data)
{
cmd.CommandText = "insert into child_detail values ('" + jobcard_id + "','" + details.completed_by + "','" + details.reporting_time + "','" + details.cost_activity + "','" + details.spared_part_used + "');";
cmd.ExecuteNonQuery();
}
}
基本思想-在
foreach
循环中准备命令字符串,然后执行一次该命令。您是否尝试在调试模式下运行此命令以查看c.Data
的计数?它只运行一次。。如果c.Data
中的details
出现一次,则它应该只运行一次。“插入子详细信息值(”;此语法错误类型是否已修复(根据操作)获取代码,交换foreach循环,添加所需的变量,然后使其字符串additionalText=string.Empty;bool needComma=false;foreach(c.Data中的变量详细信息){if(needComma)additionalText+=”,“else needComma=true;additionalText+=”(“+jobcard_id+”、“+details.completed_by+”、“+details.reporting_time+”、“+details.cost_activity+”、“+details.splace_part__used+”));}它仍然需要一行值我找不到解决方案请帮助我找到解决方案c.Data
的计数是多少?(行或长度或其他)
string additionalText = string.Empty;
bool needComma = false;
foreach (var details in c.Data)
{
if (needComma)
additionalText += ", ";
else
needComma = true;
additionalText += "('" + jobcard_id + "','" + details.completed_by + "','" + details.reporting_time + "','" + details.cost_activity + "','" + details.spared_part_used + "')";
}
cmd.CommandText = "insert into child_detail values " + additionalText + ";";
cmd.ExecuteNonQuery();