当前位置:首页 » 操作系统 » js操作数据库

js操作数据库

发布时间: 2025-07-22 11:58:07

① js 如何读取数据库信息

javaScript读取数据库信息的方法如下

JavaScript 本身作为客户端脚本语言,无法直接读取服务器端的数据库。但可以通过以下步骤间接获取数据库信息:

  1. 使用Ajax请求

    • JavaScript可以通过Ajax技术向服务器端发送请求。
    • 这个请求可以是一个HTTP GET或POST请求,具体取决于你的需求和服务器端接口的设计。
  2. 服务器端脚本处理请求

    • 服务器端需要有一个脚本来处理这个请求,这个脚本可以是PHP、Python、Node.js等编写的。
    • 服务器端脚本连接到数据库,并执行相应的sql查询或数据库操作来获取数据。
  3. 服务器端返回数据

    • 服务器端脚本将查询结果或数据库操作的结果转换为适当的格式,并通过HTTP响应返回给客户端。
    • response.write是其中一种方式,但在现代Web开发中,更常见的是使用JSON格式的数据,并通过res.json或类似的函数返回数据。
  4. JavaScript处理响应

    • Ajax请求的回调函数会接收到服务器返回的响应数据。
    • JavaScript可以解析这些数据,并在页面上使用这些数据。

示例流程

  • 客户端:使用JavaScript的fetch或XMLHttpRequest对象发送Ajax请求到服务器。
  • 服务器端:接收请求,执行数据库查询,获取数据,将数据转换为JSON格式,并通过HTTP响应返回。
  • 客户端:接收响应,解析JSON数据,并在页面上使用这些数据。

这种方法确保了数据库的安全性和隐私性,因为数据库访问逻辑在服务器端执行,客户端只能通过服务器端提供的接口获取数据。

② 如何用javascript操作access数据库

1.Access数据库名为 MyData.Mdb, 里面建了一个名为count的表,表由两个 字段组成: ID和COUNT,表里有一条数据: ('count','100')。
文本文件名为 count.txt,里面随便写入一个数字。
静态页面名为Cnt.htm。
2.以上3个文件都放在同一目录下。
由于采用Access数据库,而它采用非标准SQL语法,所以要注意在表名和字段名上需要加方括号: []
3.下面是页面里的代码:其中getCountFromDB方法是对Access数据库进行操作,getCountFromTxt方法是对txt纯文本进行操作,这两个方法都在本地执行通过。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function getCountFromDB() {
//以当前页面文件为基础,找到文件所在的绝对路径。
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "MyData.mdb";
//去掉字符串中最前面的"files://"这8个字符。
pathpath = path.substring(8);
var updateCnt = 0;

//生成查询和更新用的sql语句。
var sqlSelCnt = "SELECT COUNT FROM [COUNT] WHERE ID = 'count'";
var sqlUpdCnt = "UPDATE [COUNT] SET [COUNT] = '";

//建立连接,并生成相关字符串 www.knowsky.com。
var con = new ActiveXObject("ADODB.Connection");
con.Provider = "Microsoft.Jet.OLEDB.4.0";
con.ConnectionString = "Data Source=" + path;

con.open;
var rs = new ActiveXObject("ADODB.Recordset");
rs.open(sqlSelCnt, con);
while (!rs.eof) {
var cnt = rs.Fields("COUNT");
document.write(cnt);
//将取得结果加1后更新数据库。
updateCnt = cnt * 1 + 1;
rs.moveNext;
}
rs.close();
rs = null;

sqlUpdCntsqlUpdCnt = sqlUpdCnt + updateCnt + "'";
con.execute(sqlUpdCnt);

con.close();
con = null;
}

function getCountFromTxt() {
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "count.txt";
pathpath = path.substring(8);
var nextCnt = 0;

var fso, f1, ts, s;
//以只读方式打开文本文件。
var ForReading = 1;
//以读写方式打开文本文件。
var ForWriting = 2;

fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile(path);
ts = f1.OpenAsTextStream(ForReading, true);
s = ts.ReadLine();
nextCnt = eval(s) + 1;
document.write("now count is :" + s);
ts.Close();

ts = f1.OpenAsTextStream(ForWriting, true);
ts.WriteLine(nextCnt);
ts.close();
}
//-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
getCountFromTxt();
//-->
</SCRIPT>
</BODY>
</HTML>
4.用这种方法来读写数据库,只适合做计数器和留言版这样的不需要保密性的工作,毕竟代码全是用javascript写成的,谁都可以看到,然后就可以得到路径把db文件下载下来进行分析,所以没办法用它来保存一些不想让别人知道的东西。

③ js如何连接和操作腾讯云mysql数据库

首先是登陆腾讯云,登陆之后可以领取新手礼包,如图

二、使用一个demo来说明如何操作云mysql数据库

    1.在实例上上新建一个为nodejs的数据库,然后新建一个为employee的表,新建四个字段 name sex age email除了年龄为int其它的全部为varchar格式
    2.新建一个TimLiu的文件夹,打开cmd,cd TimLiu, 初始化项目npm init ,按照它的提示一步一步的操作即可,安装mysql模块,npm insitall mysql, 这个模块的作用主要是连接mysql数据库。
    3.新建一个model.js 文件,

  • var mysql = require(‘mysql’);

  • var connection = mysql.createConnection({

  • host:'',

  • user:'root',

  • password:'123abc',

  • database:' nodejs',

  • port:6445

  • })

  • connection.connect();

  • 这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。
    接下来我们对数据库进行增删改查操作

  • /**

  • * 增加员工

  • */function addEmployee(){

  • var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';

  • var employeeInsertSql_Params = ['Tim','男',22,'[email protected]']

  • connection.query(employeeInsertSql,employeeInsertSql_Params,function(err,result){

  • if(err) console.log('[INSERT ERR]-',err.message);

  • console.log(result);

  • }) }addEmployee()

  • }

  • /**

  • * 更新员工

  • */

  • function insertEmployee(){

  • var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";

  • var employeeUpdateSql_Params = ['Peter',22];

  • connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

  • if(err) console.log('[UPDATE ERR]-',err.message);

  • console.log(result);

  • })}



  • insertEmployee();

  • /**

  • *查询员工

  • */ function getEmployee(){

  • var employeeGetSql = "SELECT * FROM employee";

  • connection.query(employeeGetSql,function(err,result){

  • if(err) console.log('[SELECT ERR]-',err.message);

  • console.log(result);

  • })}

  • getEmployee();

  • /**

  • *删除员工

  • */ function deleteEmployee(){

  • var employeeDeleteSql = "DELETE employee WHERE name = ?";

  • var employeeDeleteSql_Params = 'Peter';

  • connection.query(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){

  • if(err) console.log('[DELETE ERR]-',err.message);

  • console.log(result);

  • })

  • }deleteEmployee();

  • 这样我们就可以愉快的操作数据库了

    如果大家想把项目更模块化操作,可在model下面新建一个employee_two.js,代码如下

  • var mysql = require('mysql');var connection = mysql.createConnection({

  • host:'',

  • user:'root',

  • password:'',

  • database:'nodejs',

  • port:})connection.connect();/**

  • * 增加员工

  • * @param {String} employee

  • * @param {Function} callback

  • */exports.addEmployee=function(employee,callback){

  • var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';

  • var employeeInsertSql_Params = [employee.name,employee.sex,employee.age,employee.email]

  • connection.query(employeeInsertSql,employeeInsertSql_Params,callback)}/**

  • * 更新员工

  • * @param {String} employee

  • * @param {Function} callback

  • */exports.updateEmployee = function(name,age){

  • var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";

  • var employeeUpdateSql_Params = ['Peter',22];

  • connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){

  • if(err) console.log('[UPDATE ERR]-',err.message);

  • console.log(result);

  • })}/**

  • * 查询员工

  • *

  • */exports.getEmployee = function(){

  • var employeeGetSql = "SELECT * FROM employee";

  • connection.query(employeeGetSql,callback)}/**

  • * 删除员工

  • * @param {String} name

  • */exports.deleteEmployee = function(name){

  • var employeeDeleteSql = "DELETE employee WHERE name = ?";

  • var employeeDeleteSql_Params = 'Peter';

  • connection.query(employeeDeleteSql,employeeDeleteSql_Params,callback)

  • }再在根目录下新建index.js,代码如下var db = require('./model/employee_two');//增加员工var employee = {

  • name:'lisa',

  • age:22,

  • sex:"女",

  • email:'[email protected]'}db.addEmployee(employee,function(err,result){

  • if(err) console.log("[INSERT err]-",err.message)

  • console.log(result);})//删除员工db.deleteEmployee('Peter',function(err,result){

  • if(err) console.log("[DELETE err]-",err.message)

  • console.log(result);})//更新员工db.updateEmployee('Tim',23,function(err,result){

  • if(err) console.log("[UPDATE err]-",err.message)

  • console.log(result);})//查询员工db.getEmployee(function(err,result){

  • if(err) console.log("[GET err]-",err.message)

  • console.log(result);})

热点内容
新版我的世界比较好的服务器 发布:2025-07-22 18:39:29 浏览:596
acfun服务器地址 发布:2025-07-22 18:29:11 浏览:952
ftp禁止删除 发布:2025-07-22 18:29:06 浏览:601
苹果手机5怎么设密码 发布:2025-07-22 18:23:51 浏览:960
蔚来es8买哪个配置性价比高 发布:2025-07-22 18:21:46 浏览:275
宝可梦我的世界自创服务器 发布:2025-07-22 18:09:31 浏览:226
男人的图片密码多少 发布:2025-07-22 18:07:45 浏览:367
ftp直接访问nas 发布:2025-07-22 18:00:53 浏览:233
java的对象的属性值 发布:2025-07-22 17:58:59 浏览:746
黑魂的服务器是电脑和主机共用吗 发布:2025-07-22 17:56:35 浏览:630