Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript连接数据库服务器有几种方法?_Javascript_Jquery_Mysql_Oracle_Sqlite - Fatal编程技术网

使用JavaScript连接数据库服务器有几种方法?

使用JavaScript连接数据库服务器有几种方法?,javascript,jquery,mysql,oracle,sqlite,Javascript,Jquery,Mysql,Oracle,Sqlite,我想知道有多少种方法可以使用JavaScript获取服务器数据库,比如使用mongo db、SQLite或任何其他连接服务器数据库的方法如果你说的是客户端JavaScript,那就没有办法了 您必须使用或向服务器上运行的脚本发送消息,然后服务器将连接到数据库 1实际上,在HTML5规范中有访问本地SQLite引擎的权限,但它被弃用了。感谢所有有价值的建议,我使用了基于浏览器支持的本地数据库,方法如下: <!DOCTYPE html> <html xmlns="http://ww

我想知道有多少种方法可以使用JavaScript获取服务器数据库,比如使用mongo db、SQLite或任何其他连接服务器数据库的方法如果你说的是客户端JavaScript,那就没有办法了

您必须使用或向服务器上运行的脚本发送消息,然后服务器将连接到数据库


1实际上,在HTML5规范中有访问本地SQLite引擎的权限,但它被弃用了。

感谢所有有价值的建议,我使用了基于浏览器支持的本地数据库,方法如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SQL Storage</title>
<body>
    <br />
    <br />
    <div align="center">
        <input type="hidden" id="id" /> First name:<input type="text"
            id="firstName" /><br /> Last name:<input type="text" id="lastName" /><br />
        Phone: <input type="text" id="phone" /><br />
        <button onClick="resetForm()">Reset Form</button>
        <button onClick="updateRecord()">Update</button>
        <button onClick="insertRecord()">Insert</button>
        <button onClick="dropTable()">Drop Table</button>
        <div id="results"></div>
    </div>
</body>

<script>
    var results = document.getElementById('results');
    var id = document.getElementById('id');
    var firstName = document.getElementById('firstName');
    var lastName = document.getElementById('lastName');
    var phone = document.getElementById('phone');

    var createStatement = "CREATE TABLE IF NOT EXISTS Contacts (id INTEGER PRIMARY KEY AUTOINCREMENT, firstName TEXT, lastName TEXT, phone TEXT)";
    var selectAllStatement = "SELECT * FROM Contacts";
    var insertStatement = "INSERT INTO Contacts (firstName, lastName, phone) VALUES (?, ?, ?)";
    var updateStatement = "UPDATE Contacts SET firstName = ?, lastName = ?, phone = ? WHERE id = ?";
    var deleteStatement = "DELETE FROM Contacts WHERE id=?";
    var dropStatement = "DROP TABLE Contacts";
    try {
        var db = openDatabase("AddressBook", "1.0", "Address Book", 200000);
    } catch (e) {
        alert(e)
    }
    var dataset;
    createTable();

    function onError(tx, error) {
        alert(error.message);
    }

    function showRecords() {
        results.innerHTML = '';
        db.transaction(function(tx) {
            tx.executeSql(selectAllStatement, [], function(tx, result) {
                dataset = result.rows;
                for ( var i = 0, item = null; i < dataset.length; i++) {
                    item = dataset.item(i);
                    results.innerHTML += '<li>' + item['lastName'] + ' , '
                    item['firstName'] + ' <a href="#"     onclick="loadRecord('
                            + i + ')">edit</a>  '
                            + '<a href="#" onclick="deleteRecord(' + item['id']
                            + ')">delete</a></li>';
                }
            });
        });
    }

    function createTable() {
        db.transaction(function(tx) {
            tx.executeSql(createStatement, [], showRecords, onError);
        });
    }

    function insertRecord() {
        db.transaction(function(tx) {
            tx.executeSql(insertStatement, [ firstName.value, lastName.value,
                    phone.value ], loadAndReset, onError);
        });
    }

    function loadRecord(i) {
        var item = dataset.item(i);
        firstName.value = item['firstName'];
        lastName.value = item['lastName'];
        phone.value = item['phone'];
        id.value = item['id'];
    }

    function updateRecord() {
        db.transaction(function(tx) {
            tx.executeSql(updateStatement, [ firstName.value, lastName.value,
                    phone.value, id.value ], loadAndReset, onError);
        });
    }

    function deleteRecord(id) {
        db.transaction(function(tx) {
            tx.executeSql(deleteStatement, [ id ], showRecords, onError);
        });
        resetForm();
    }

    function dropTable() {
        db.transaction(function(tx) {
            tx.executeSql(dropStatement, [], showRecords, onError);
        });
        resetForm();
    }

    function loadAndReset() {
        resetForm();
        showRecords();
    }

    function resetForm() {
        firstName.value = '';
        lastName.value = '';
        phone.value = '';
        id.value = '';
    }
</script>
</html>

,准确地说。你可以直接访问CouchDB,因为它提供了一个REST API。感谢Alnitak回复我,我完全同意你,我试图向客户解释同样的事情,但他知道我们可以使用JS连接到db服务器,他给了我monjo db选项,我从未听说过,也没有在monjo上工作过,您知道它是如何工作的吗。@FelixKling是真的,但如果没有中间件来协调客户端和服务器之间的访问,我不想在实际应用程序上冒险。@FelixKling谢谢,我已经看过您关于使用CouchDB的建议了。我正在研究如何使用它,让我们看看它将如何满足我的需求requirments@Devendra当前位置我不一定建议使用它。这完全取决于您的用例。CouchDB是面向文档的,没有SQL数据库。这可能不是你想要的。