我是html开发的新手,不知道如何解决这个问题。我需要创建一个包含一些可编辑单元格的表。然后我需要根据编辑的行更新数据库表中的特定行。我已经创建了一些工作解决方案,我几乎肯定不会使用正确的方法解决问题,所以我需要知道如何才能使这个问题变好。 请注意重复表单。我想只有一个表单和一个提交按钮来更新那些已编辑的行。
@using Oracle.DataAccess.Client;
@using Oracle.DataAccess.Types;
@{
string some_conn = "SomeConnectionString";
OracleConnection conn = new OracleConnection(some_conn);
var comm = new OracleCommand("select * from some_table",conn);
conn.Open();
if(IsPost){
var some_id = Request.Form["some_id"];
var some_value = Request["some_value"];
var update_comm = new OracleCommand("update some_table"+
" set some_value ='"+some_value+"'" +
" where some_id ='" + some_id + "'", conn ) ;
update_comm.ExecuteNonQuery();
}
var dr = comm.ExecuteReader();
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table>
@while(dr.Read()){
<tr>
@for(int i= 0; i < 7 ; i++){
if(i != 5){
<td> @(Convert.ToString(dr.GetValue(i)))</td>
}
}
<form method="post" action="">
<td> <input type="text" name="some_id" contenteditable="false" value="@(Convert.ToString(dr.GetValue(5)))"></td>
<td><textarea name="some_value" cols="10" rows="10">@(Convert.ToString(dr.GetValue(7)))</textarea></td>
<td> <input type="submit" value="update"></td>
</form>
</tr>
}
</table>
</body>
</html>
@{
conn.Close();
conn.Dispose();
}