js 如何连接数据库

js 如何连接数据库,第1张

以连接ORACLE数据库为例:

//创建数据库连接对象

var conn = new ActiveXObject("ADODB.Connection")

//创建数据集对象

var rs = new ActiveXObject("ADODB.Recordset")

try{ 

//如果不知道如何配置连接串,可以通过配置UDL文件后用文本编辑器打开获得 

var connectionstring = "Provider=OraOLEDB.Oracle.1Password=pwdPersist Security Info=TrueUser ID=usernameData Source=ORA"  

//打开连接 

conn.open(connectionstring)

//查询语句 

var sql = " select * from tb_col "  

//打开数据集(即执行查询语句) 

rs.open(sql,conn)  

//遍历所有记录 

while(!rs.eof){

  //WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。  

  //WScript.Echo输出记录的内容  

  WScript.Echo(rs.Fields("id") + "\t" + rs.Fields("name") + "\n")  

  //下一条记录  

  rs.moveNext() } 

  //关闭记录集 

  rs.close() 

  //关闭数据库连接 

  conn.close()} catch(e){ 

  //异常报告 

  WScript.Echo(e.message)} finally{ 

  }

数据库连接串,具体配置请参考:http://www.connectionstrings.com/ 

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

进入云产品->数据库->CDB for MYSQL->立即选购,选购最低配的可用礼包抵扣使用一个月,购买完成

主页->右上角产品管理->使用中的数据库,这时我们会看见一个实例,首先我们进入管理页面对实例进行一些基本的设置

实例名可以随意更改,外网地址必须开启,否则我们就不能在自己的项目中和本地访问云数据库。进入账号管理页面修改自己的root密码,然后点击右上角的登录数据库

登陆完成之后如下图

这个和本地客户端 *** 作基本相同,我就不详细阐述了

   二、使用一个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,'18818216454@163.com']

   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:'99533212@qq.com'}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)})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6621570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存