![](/img/trans.png)
[英]how to get the id value in each row from the append table in JavaScript
[英]Get the Inserted Id Value from a SQL Table to Javascript
我必須使用Javascript向db表創建一個insert語句。 SQL語句由ActiveXObject和open方法生成。 這里的問題是,open方法不返回數據庫給表的主鍵的id值。 下面你可以看到我嘗試在同一個SQL語句中插入數據,同時我嘗試使用@@ identity檢索到id。 “項目”僅用於學術目的! 我能理解這種方式的漏洞!
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="MyConnection";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
var qry = " BEGIN TRAN T1 insert into myTable (docname,date) values ("+document.getElementById('docname').value+",'"+today.toISOString().substring(0, 10)+"') ";
qry = qry + 'select @@IDENTITY as id ';
alert(qry);
rs.Open(qry, connection);
rs.MoveFirst
var docid = rs.fields(0)
alert(docid);
rs.close;
connection.close;
//notice that the Mytable has 3 col,the ID, docname and date
@JordanRieger這個案例只是一個在IE上運行的搜索開發SPA。 因此,在與Html相同的文件上運行的Jscript連接到數據庫。 當你完全理解javascript通過document.getElementById從DOM獲取值時! 現在問題出現在我的情況下,當我不得不制作一個插入語句並返回表格行的id時。 問題在於我嘗試從同一個連接(我必須由於RDBMS)為插入創建一個sql語句,為Select @@ identity創建一個。 RDBMS對上述情況的響應是向您發送兩行消息,一行用於插入(即1行影響),另一行用於選擇stametent。 但是“rs = new ActiveXObject(”ADODB.Recordset“)”只等待一個respone(不是為了數據 - 而是為了消息)所以我不得不在SQL查詢中插入“set nocount on”語句以避免消息。 我認為這通常在我們使用本機sql的數據集時很有用! 無論如何,謝謝你們!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.