javascript - 如何使用javascript adodb连接在 GridView 中显示sql server数据

标签 javascript jquery ado

<分区>

请检查下面我试过的脚本代码,

      <script type="text/javascript">
        var objConnection = new ActiveXObject("adodb.connection");
        var strConn = "driver={sql server};server=DESKTOP-IA5UQ36;database=arif;uid=;password=";

        objConnection.Open(strConn);
        var rs = new ActiveXObject("ADODB.Recordset");
        var strQuery = "SELECT Id , Name,F_Name,Cnic, Dues,Fees FROM  customer ORDER BY  Id";
        rs.Open(strQuery, objConnection);
        rs.MoveFirst();
        </script>

最佳答案

<script type="text/javascript">
    function rsEdit(varId) {
        objConnection.Open(strConn);
        var rsE = new ActiveXObject("ADODB.Recordset");
        var strQuery = "SELECT Id , Name,F_Name,Cnic, Dues,Fees FROM  customer WHERE  Id = " + varId;
        rsE.Open(strQuery, objConnection);
        rsE.MoveFirst();

      while (rsE.EOF != true)   
      {  
        document.write("<table>")
        document.write("<tr>") ;
        document.write("<td>ID: " + rsE("Id") + " <input id='regId' type='hidden' value='" + rsE("Id") + "'></td>");
        document.write("<td>Name: <input id='regName' type='text' value='" + rsE("Name") + "'></td>");
        document.write("<td>F_Name: <input id='regF_Name' type='text' value='" + rsE("F_Name") + "'></td>");
        document.write("<td>Cnic: <input id='regCnic' type='text' value='" + rsE("Cnic") + "'></td>");
        document.write("<td>Dues: <input id='regDues' type='text' value='" + rsE("Dues") + "'></td>");
        document.write("<td>Fees: <input id='regFees' type='text' value='" + rsE("Fees") + "'></td>");
        document.write("<td> <input onClick='rsSave()' type='button' ></td>");
        document.write("</tr>");
        document.write("</table>");

        rsE.MoveNext();  
      }   
    }

    function rsSave() {
        objConnection.Open(strConn);
        var rsE = new ActiveXObject("ADODB.Recordset");

        var regIdVal = document.getElementById("regId").value;
        var regNameVal = document.getElementById("regName").value;
        var regF_NameVal = document.getElementById("regF_Name").value;
        var regCnicVal = document.getElementById("regCnic").value;
        var regDuesVal = document.getElementById("regDues").value;
        var regFeesVal = document.getElementById("regFees").value;

        var strQuery = "UPDATE customer SET Name = '" + regNameVal + "',F_NameVal = '" + regF_NameVal + "',Cnic = '" + regCnicVal + "',Dues = '" + regDuesVal + "',Fees = '" + regFeesVal + "' WHERE Id = " + regIdVal;
        rs.Open(strQuery, objConnection);
    }

    function rsDelete(varId) {
        objConnection.Open(strConn);
        var rs = new ActiveXObject("ADODB.Recordset");
        var strQuery = "DELETE FROM customer WHERE Id = " + varId;
        rs.Open(strQuery, objConnection);
    }
</script>

</script>之后:

<table>
<tr>
    <th>ID<th>
    <th>Name<th>
    <th>F_Name<th>
    <th>Cnic<th>
    <th>Dues<th>
    <th>Fees<th>
</tr>

<script>

  while (rs.EOF != true)   
  {  
    document.write("<tr>") ;
    document.write("<td>" + rs("Id") + "</td>");
    document.write("<td>" + rs("Name") + "</td>");
    document.write("<td>" + rs("F_Name") + "</td>");
    document.write("<td>" + rs("Cnic") + "</td>");
    document.write("<td>" + rs("Dues") + "</td>");
    document.write("<td>" + rs("Fees") + "</td>");
    document.write("<td><button onClick='rsDelete(" + rs("id") + ")'>Del</button></td>"); 
    document.write("<td><button onClick='rsEdit(" + rs("id") + ")'>Edit</button></td>"); 
    document.write("</tr>");

    rs.MoveNext();  
  }  

</script>
</table>

但是这种用法是很不安全的,因为

  1. 连接字符串是公开的
  2. 必须打开数据库服务器以允许远程连接。

关于javascript - 如何使用javascript adodb连接在 GridView 中显示sql server数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42111992/

相关文章:

sql - 优化 SQL ADO 返回时间

javascript - 在分配中获得无效的左侧

c# - 解释 Asp.net 中的 slider 代码

jquery - 调整浏览器大小时的菜单按钮

javascript - 如何在显示侧边栏时禁用背景并单击除侧边栏以外的任何地方将关闭侧边栏

delphi - AdoQuery 如何处理 blob?

javascript - 视频更改而无需重新加载页面时,HTML5视频元素缺少END事件

javascript - 将元素的可见性绑定(bind)到另一个元素?

javascript - 关闭弹出窗口后刷新父窗口

database - 经典 ASP - 使用 Windows 身份验证的 SQL Server 2008 连接字符串