js数据库操作数据库
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文件下载下来进行分析,所以没办法用它来保存一些不想让别人知道的东西。
‘贰’ nodejs简单访问及操作mysql数据库的方法示例
本文实例讲述了nodejs简单访问及操作mysql数据库的方法。分享给大家供大家参考,具体如下:
var
mysql
=
require('mysql');
//调用MySQL模块
mysql模块要安装
$
npm
install
mysql
//创建一个connection
var
connection
=
mysql.createConnection({
host
:
'127.0.0.1',
//主机
user
:
'root',
//MySQL认证用户名
password
:
'',
//MySQL认证用户密码
port:
'3306',
//端口号
database:''
//数据库名
});
//创建一个connection
connection.connect(function(err){
if(err){
console.log('[query]
-
:'+err);
return;
}
console.log('[connection
connect]
succeed!');
});
//执行SQL语句
connection.query('SELECT
1
+
1
AS
solution',
function(err,
rows,
fields)
{
if
(err)
{
console.log('[query]
-
:'+err);
return;
}
console.log('The
solution
is:
',
rows[0].solution);
});
//关闭connection
connection.end(function(err){
if(err){
return;
}
console.log('[connection
end]
succeed!');
});
注:nodejs在操作数据库的时候不用设置数据库的编码格式
set
names
utf8
希望本文所述对大家nodejs程序设计有所帮助。
您可能感兴趣的文章:nodejs连接mysql数据库简单封装示例-mysql模块nodejs进阶(6)—连接MySQL数据库示例nodejs实现的连接MySQL数据库功能示例Nodejs连接mysql并实现增、删、改、查操作的方法详解nodeJs实现基于连接池连接mysql的方法示例nodejs中操作mysql数据库示例NodeJS链接MySql数据库的操作方法Nodejs使用mysql模块之获得更新和删除影响的行数的方法NodeJs使用Mysql模块实现事务处理实例nodejs连接mysql数据库及基本知识点详解
‘叁’ javascript怎样操作数据库
javascript是运行在浏览器内的脚本语言,为了安全,不能访问任何的系统资源,所以也不可能直接访问数据库。如果需要在浏览器中进行数据库操作的话,通常的方法是在WEB服务器上采用ASP JSP之类的语言访问数据库,然后把结果返回给浏览器中运行的Javascript流程就是(以ASP为例) 浏览器上Javascript发起网页请求-->ASP访问数据库-->ASP生成结果(例如是一行行的文本)-->浏览器上Javascript分析结果-->把结果在浏览器上显示。相关的技术有 AJAX(可以参考下JQuery),ASP访问数据库(这个很多办法,自己网络吧)。
‘肆’ 在asp.net中JS怎样操作数据库
最好别使用js操作数据库,js在源代码里面可以看到,别人不就知道你的数据库信息了?还可以通过注入操作你的数据库 如果最实在想用,参考例子 文件构成:
Access数据库名为 MyData.Mdb, 里面建了一个名为count的表,表由两个字段组成: ID和COUNT,表里有一条数据: ('count','100')。 文本文件名为 count.txt,里面随便写入一个数字。 静态页面名为Cnt.htm。
以上3个文件都放在同一目录下。
由于采用Access数据库,而它采用非标准SQL语法,所以要注意在表名和字段名上需要加方括号: []
下面是页面里的代码:
其中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个字符。
path = 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;
sqlUpdCnt = 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";
path = 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>
后记:虽然在只支持静态页面的免费空间不可用,但是我想一些支持Asp的免费空间应该能用,当然我没有具体试过,只是凭自己想象。并且用这种方法来读写数据库,只适合做计数器和留言版这样的不需要保密性的工作,毕竟代码全是用javascript写成的,谁都可以看到,然后就可以得到路径把db文件下载下来进行分析,所以没办法用它来保存一些不想让别人知道的东西。就像我一个同事说的,用javascript连接数据库进行操作,简直就是霸王硬上弓,呵呵,的确如此,既然不能用在免费空间上作自己的计数器,那这段代码就只能用来玩玩,自己找找良好感觉了。收集:
简单的数据库操作:<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language=javascript>
function connectDb()
{
var ConnDB = new ActiveXObject("ADODB.Connection");
ConnDB.ConnectionString="dsn=shbxdatabase;uid=ldbx;pwd=123456;";
ConnDB.Open();
var Rs = new ActiveXObject("ADODB.Recordset");
var tempstr="";
Rs.Open("select * from WDA1",ConnDB,1,3);
while(!Rs.EOF)
{
tempstr = tempstr + Rs("TNAME") + "<br/>";
Rs.MoveNext;
}
test.innerHTML=tempstr;
}
</script>
</HEAD>
<BODY onbeforeunload="return 'ok?'"><P><div id=test> </div>
<P><INPUT id=button1 type=button value=显示 name=button1 onclick="connectDb()"></BODY>
</HTML>
>>>>>>-------------------------------------var db="D:\\js\\9t\\db1.mdb";
function opendb(dbname,sql)
{
var opendb =new ActiveXObject("ADODB.Recordset")
opendb.ActiveConnection = "DBQ="+dbname+";DRIVER={Microsoft Access Driver (*.mdb)};"
opendb.Source = sql
opendb.CursorType = 1
opendb.CursorLocation = 2
opendb.LockType = 3
opendb.Open()
return opendb
}
var rs=new Object();
rs=opendb(db,"select * from 产品 where id="+i);
document.all.xx1.innerHTML=rs("生产厂商").value;
document.all.xx2.innerHTML=rs("产品名称")+"/"+rs("型号");
document.all.xx3.innerHTML=rs("售价");
document.all.xx4.innerHTML=rs("批发");
document.all.xx5.innerHTML=rs("备注");
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---------------------------------------
连接ACCESS只能用数据源,操作数据库的方法跟ASP之类是一样的。
只不过执行的语句不一样罢了。
如:
String dbUrl = "sun.jdbc.odbc.JdbcOdbcDriver";
String dbConStr = "jdbc:odbc:dnsName";
Connection Conn = null;
Statement stmt = null;
try{
Class.forName(dbUrl);
}catch(ClassNotFoundException e){
System.err.println("Not Found ClassForName" + e.getMessage());
}
try{
Conn = DriverManager.getConnection(dbConStr, "uid", "pwd"); //连接数据库,uid与pwd分别为 用户名及密码(连接数据库的),如果没有既为空
stmt = Conn.createStatement();
}catch(Exception e){
System.err.println("Can't Connect the DATA" + e.getMessage());
}
//以下为操作数据库的
String sql = "select * from tableName[....]";
ResultSet Rs = stmt.executeQuery(sql); // 返回记录集
String sqlUpdate = "update...";
String sqlInsert = "insert into....";
stmt.executeUpdate(sqlUpdate); //更新记录
stmt.executeUpdate(sqlInsert); //插入记录
Conn.close();
stmt.close();
‘伍’ js调用数据库里面的数据
<script language=javascript>
function replace(v)
{
//定义SQL语句
var sql = "select * from Dictionary where MainID='" + v + "'" ;
//新建数据库连接对象和数据集存取对象
var ConnDB = new ActiveXObject("adodb.connection");
var rs = new ActiveXObject("ADODB.Recordset");
//这里填入要连接的DSN
ConnDB.ConnectionString="DSN=***;uid=***;pwd=***";
ConnDB.open
rs.open(sql,ConnDB,1,1);
if (rs.RecordCount>0){
if (v==parseInt(rs("MainID"))){
//字符串连接
document.all('txt').value = v + rs("MainValue");
var sql=null;
rs.close
ConnDB.close
return;
} else {
var sql=null;
alert("没有此代号!");
txt.select();
txt.focus();
rs.close
ConnDB.close
}
}
</script>
<input type=text id=txt name=txt onblur="replace(this.value)">
‘陆’ js如何连接和操作腾讯云mysql数据库
首先是登陆腾讯云,登陆之后可以领取新手礼包,如图
二、使用一个demo来说明如何操作云mysql数据库- var mysql = require(‘mysql’);
- var connection = mysql.createConnection({
- host:'',
- user:'root',
- password:'123abc',
- database:' nodejs',
- port:6445
- })
- connection.connect();
- /**
- * 增加员工
- */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);
- })}
- /**
- *删除员工
- */ 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();
- 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);})
1.在实例上上新建一个为nodejs的数据库,然后新建一个为employee的表,新建四个字段 name sex age email除了年龄为int其它的全部为varchar格式
2.新建一个TimLiu的文件夹,打开cmd,cd TimLiu, 初始化项目npm init ,按照它的提示一步一步的操作即可,安装mysql模块,npm insitall mysql, 这个模块的作用主要是连接mysql数据库。
3.新建一个model.js 文件,
这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。
接下来我们对数据库进行增删改查操作
getEmployee();
这样我们就可以愉快的操作数据库了
如果大家想把项目更模块化操作,可在model下面新建一个employee_two.js,代码如下
‘柒’ javascript能操作数据库吗
javascript只是脚本语言,如果应用在客户端,那么是不可能操作数据库的;
但若js在服务器端应用,如ASP以JS为宿主脚本来开发ASP站点时,也不可以操作数据库,ASP是依靠SERVER内置对象来操作数据库的。
‘捌’ js 连接数据库如何操作数据库中的数据Script
//连接SQL复制代码代码如下:<script language="javascript" var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Provider=SQLOLEDB.1; Data Source=tgf; User ID=sa; " +"Password=sasa; Initial Catalog=MyBulletin"); var rs = new ActiveXObject("ADODB.Recordset"); var sql="select id,name from Category"; rs.open(sql, conn); alert(rs(0));//取出第一个来 rs.close();rs = null;conn.close(); conn = null; </script //连接ACCESS复制代码代码如下:<script language="javascript" function conn(){var db_bbsdb_bbs="dd.mdb"//定义数据库 var conn = new ActiveXObject("ADODB.Connection"); conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+db_bbs+""); var rs = new ActiveXObject("ADODB.Recordset"); var sql="select name from authors"; //数据库中有authors表,name字段 rs.open(sql,conn); alert(rs(0))//取出第一个来
‘玖’ 关于JS操作数据库
<SCRIPT LANGUAGE="JavaScript">
var url=unescape(window.location.href).replace( "file:///","");
url =url.substring(0,url.lastIndexOf("/")+1).replace("\\","/");
url=url+"aaa.xml";
</SCRIPT>
获取绝对路径
‘拾’ JS如何可以直接操作数据库吗
用AJAX,页面不刷新,只提交字符串到后台导入数据库