<th>
<td>学号</td>
<td>姓名</td>
<td>卡号</td>
</th>
<c:forEach items="后台list" var="rs">
<tr>
<td>rs.学号字段</td>
<td>rs.姓名字段</td>
<td>rs.卡号字段</td></tr>
</c:forEach>
</table>
页面记得引入jstl标签库,样式自己在里面加
设置一个ID,<c:set var="position" value="0"/>
<c:forEach.......>
<input...... name="sellpriceLine${position}"/>
<input...... name="sellprice${position}"/>
......
<c:set var="position" value="${position+1}"/>
</c:forEach>
在servlet,已知listinfor03的size(可在页面设置hidden),
for(int i=0i<sizei++){
String sellpriceLine = request.getParameter("sellpriceLine"+i)
String sellprice= request.getParameter("sellprice"+i)
.....insert into database......
}
明白了吗?
你的问题不甚清晰。需要插入的数据来源是在窗体中吗?SQL需要拼接吗?
给你一段代码参考,这段代码是将窗体中dataGridView中的数据循环插入数据库,循环过程中拼接SQL,并执行插入:
//主方法,拼接SQL并执行插入private int InsertInTo()
{
StringBuilder sqlinsert = new StringBuilder()
StringBuilder sqlvalue = new StringBuilder()
sqlinsert.Append(" insert into 你的表名 ( ")
sqlvalue.Append(" values(")
int num = 0//该变量用来获取插入多少条数据
for (int i = 0 i < dataGridView1.Rows.Count i++)
{
for (int c = 0 c < dataGridView1.Columns.Count c++)
{
sqlinsert.Append(dataGridView1.Columns[c].HeaderText + ",")//赋值列名
sqlvalue.Append("'" + dataGridView1.Rows[i].Cells[c].Value.ToString() + "'")//赋值列对应的值
}
string sql = sqlinsert.ToString().Substring(0, sqlinsert.Length - 1) + ") " + sqlvalue.ToString().Substring(0, sqlvalue.Length - 1) + ")"//拼接完整插入SQL
num += Insert(sql)//调用插入方法,并接收返回的插入行数
}
return num
}
//连接数据库并执行SQL
private int Insert(string sql)
{
string connstring = "server=127.0.0.1\\SQLEXPRESSdatabase=你的数据库名uid=用户名pwd=密码"
SqlConnection conn = new SqlConnection(connstring)
SqlCommand cmd = new SqlCommand(sql, conn)
conn.Open()
int n = cmd.ExecuteNonQuery()//执行
conn.Close()
cmd.Dispose()
return n
}
赋值列名时可以放在循环外只赋值一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)