2017-05-04 84 views
0

這裏是我的ASP代碼的HTML表格的形式顯示數據庫表如何將新行添加到現有的表中的HTML

if (operation == "display"){ 
    MySqlDataAdapter da = new MySqlDataAdapter("select StudentId, StudentName from tblStudent where StudentStatus = 'a'", con); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    Response.Write("<Table cellpadding = 5>"); 
    Response.Write("<tr>"); 
    Response.Write("<th>"); 
    Response.Write("Student Id"); 
    Response.Write("</th>"); 
    Response.Write("<th>"); 
    Response.Write("Student Name"); 
    Response.Write("</th>"); 
    Response.Write("</tr>"); 
    foreach (DataRow dr in dt.Rows){ 
     Response.Write("<tr>"); 
     Response.Write("<td>"); 
     Response.Write(dr["StudentId"].ToString()); 
     Response.Write("</td>"); 
     Response.Write("<td>"); 
     Response.Write(dr["studentName"].ToString()); 
     Response.Write("</td>"); 
     Response.Write("</tr>"); 
    } 
    Response.Write("</Table>"); 
} 

這裏是我的插入代碼:

if (operation == "insert"){ 
    string sid, sname; 
    sid = Request.QueryString["StudentId"].ToString(); 
    sname = Request.QueryString["StudentName"].ToString(); 
    //MySqlDataAdapter da = new MySqlDataAdapter("insert into tblStudent (StudentId, StudentName) values (sid, sname)", con); 
    con.Open(); 
    MySqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "insert into tblStudent (StudentId, StudentName) values('" + sid.ToString() + "', '" + sname.ToString() + "')"; 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 

這是完美地工作。但是當我執行插入操作時,我不想再讀整個表格。我只想將行附加到在cmd.ExecuteNonQuery返回1時顯示方法中定義的HTML表中(以確保數據庫表已更新)。怎麼樣?

+0

如果你不想重新加載整個數據,你應該在客戶端進行插入操作。 –

+0

使用參數化查詢以避免SQL注入攻擊 – Sankar

+0

在ajax中發生的一切,沒有重新加載點@NumanKIZILIRMAK –

回答

0

在你的Ajax succeess回調新行追加到表

succcess:function(data) 
{ 
    var newRow= "";     
    newRow= newRow+ "<tr>"; 
    newRow= newRow+ "<td>" + studentId + "</td>"; 
    newRow= newRow+ "<td>" + studentName + "</td>";  
    newRow= newRow+ "</tr>";       
    $('.yourtable').append(newRow); 
} 
0

創建HTML表作爲使用RUNAT = '服務器' 服務器端控制。 所以你的表格創建部分將如下;

**Response.Write("<Table runat='server' id='tblStudents' cellpadding = 5>");** 

保存後,您可以從後面的代碼訪問此控件並添加行。 成功插入後添加以下代碼;

var row= new System.Web.UI.HtmlControls.HtmlTableRow(); 
var cellSID = new System.Web.UI.HtmlControls.HtmlTableCell(); 
cellSID.InnerText = sid; 
row.Cells.Add(cellSID); 

var cellSName = new System.Web.UI.HtmlControls.HtmlTableCell(); 
cellSID.InnerText = sname; 
row.Cells.Add(cellSName); 

tblStudents.Rows.Insert(0, row); 
0

我會建議這種方式使用jquery的append

$('#yourTableID > tbody:last-child').append('<tr><td>Some Data</td>...</tr>'); 

注意:您tabletbody內發現最後一個孩子後,它會添加行表應該有這至少一個row通過使用jQuery你的表內計數的行工作,你可以很容易做到。

相關問題