我知道 ie 怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc 然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选
“用户DSN”,如果想被别人访问就选“系统DSN”) 然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了) 用 ie 先调用odbc驱动 然后 *** 作mysql,话不多说,上代码!
//创建数据库连接对象
var conn = new ActiveXObject("ADODBConnection");
//创建数据集对象
var rs = new ActiveXObject("ADODBRecordset");
try{
//MySQL ODBC 53 ANSI Driver 这个就是我刚才说让你记得驱动的名字
var connectionstring = "Driver={MySQL ODBC 53 ANSI Driver};Server=127001;User=root;Password=root;Database=mysql;Option=3;Port=3306";
consolelog(connectionstring);
//打开连接
connopen(connectionstring);
//查询语句
var sql = " select from table1 ";
//打开数据集(即执行查询语句)
rsopen(sql,conn);
//(或者rs=connexecute(sql);)
//遍历所有记录
while(!rseof){
//WScript是Windows 的脚本宿主对象,详细情况请在windows帮助里查找。
//WScriptEcho输出记录的内容
documentwrite(rsFields("id") + "\t" + rsFields("name") + "\n");
//下一条记录
rsmoveNext();
}
//关闭记录集
rsclose();
//关闭数据库连接
connclose();
} catch(e){
//异常报告
documentwrite(emessage);
} finally{
//
}
首先要明白一个概念 js是客户端加载的不可能让客户端直接连数据库,
如果连了就不安全啊,
所以需要服务端连接数据库,服务端js连数据库我只知道nodejs,你可以看看
套路就是客户端请求服务端,服务端连接数据库获取值再返回到客户端
JS只能连本地数据库,实现你那个功能是AJAX,但那不是纯粹的JS连数据库了,应该说JS连服务器,服务器中的代码替你去取得相应的数据,而且你认为直接用JS连接数据库是件安全的事情吗?直接暴露数据库地址~~~
NodeJS 服务器可以在 后端 连接mysql,这时的情况和php是一样的。
我从未见过前端JS直接连接mysql的,原因是:
(1)浏览器内置的javascript 引擎一般只支持websocket,即基于>
(2)我见过的绝大多数mysql 服务器都工作在服务器环境下的一个虚拟子网,换句话说,直接的远程3306端口是拒绝连接的,这样可以隔绝端口直接攻击
如果前段js直接可以连接后端服务器mysql的端口,那么就不叫B/S结构了,而是C/S结构(比如传统的windows桌面程序),安全上有很多问题,所以大多数浏览器也不支持这个 *** 作。
用到
using SystemDataSqlClient;//命名空间
SQL 查询
string connection_str=@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ChatRoom;Data Source=\sqlexpress";
string select_str="select 字段 from 表名 [where 字段=值]";//"[之间的内容]"是可选的
SqlConnection con=new SqlConnection(connection_str);//一,创建数据库连接对象
SqlCommand com=new SqlCommand(select_str,con);//二,创建数据 *** 作对象
conOpen();//现在用的是连接 *** 作方法,所以要先打开这个数据连接对象的连接
DataReader _dataReader = comExcuteReader();
while(_dataReaderNext())//遍历
{
string temp += dataReader["字段"]ToString()+"\r\n";
}
conClose();//关闭数据库连接对象
MessageBoxShow(temp);
以上这种方法是称为连接式 *** 作。
以下这种方法是称为非连接式 *** 作。
using SystemDataSqlClient;//因为要用到SQL对象
using SystemData;//要用到数据集对象,如以下将要用到:DataSet对象
string connection_str=@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ChatRoom;Data Source=\sqlexpress";
string select_str="select 字段 from 表名 [where 字段=值]";//"[之间的内容]"是可选的
SqlConnection con=new SqlConnection(connection_str);//一,创建数据库连接对象
SqlDataAdapter DataAdapter=new SqlDataAdapter(select_str,con);//二,创建数据 *** 作对象
DataSet ds=new DataSet();
DataAdapterFill(ds);//DataAdapterFill(填充对象)//函数是将除处理的select_str语句得来结果填充到指定的填充对象
string temp="";
foreact(DataRow dr in dsTable[0]Rows)//遍历
{
temp+=dr["字段"]ToString();
}
MessageBoxShow(temp);
至少楼主说的要增删改查。
就是修改select_str字符串就行了。
select(查询):"Select 字段 from 表名 [where 条件]";
update(更新):"Update 列名 set 字段=值 [where 条件]";
insert(插入):"Insert [into] 表名 Values(字段[,字段,,]) [where 条件]";
delete(删除):"delect from 表名 [where 条件]";
当然,除了select(查询)是有返回数据,其它update(更新),insert(插入),delete(删除)都只是返回 *** 作状态值。
楼主是要这个吗?
<script language="javascript">
//用 javascript 写服务器端连接数据库的代码示例
function conn(){
var db_bbs
db_bbs="ddmdb"//定义数据库
var conn = new ActiveXObject("ADODBConnection");
connOpen("Provider=MicrosoftJetOLEDB40;Data Source="+db_bbs+"");
var rs = new ActiveXObject("ADODBRecordset");
var sql="select name from authors"; //数据库中有authors表,name字段
rsopen(sql,conn);
alert(rs(0))//取出第一个来
connclose();
conn = null;
}
</script>
以下的是sql连接
<script language="javascript">
//用 javascript 写服务器端连接数据库的代码示例
var conn = new ActiveXObject("ADODBConnection");
connOpen("Provider=SQLOLEDB1; Data Source=localhost; User ID=sa; "
+"Password=; Initial Catalog=pubs");
var rs = new ActiveXObject("ADODBRecordset");
var sql="select from authors";
rsopen(sql, conn);
rsclose();
rs = null;
connclose();
conn = null;
</script>
感觉JS连数据库怪怪的,还是分层吧,毕竟数据库连接这样的东西放表现上不太安全。
首先是登陆腾讯云,登陆之后可以领取新手礼包,如图
进入云产品->数据库->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新建一个modeljs 文件,
var mysql = require(‘mysql’);var connection = mysqlcreateConnection({
host:'',
user:'root',
password:'123abc',
database:' nodejs',
port:6445
})
connectionconnect();
这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。
接下来我们对数据库进行增删改查 *** 作
/增加员工
/function addEmployee(){
var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(,,,)';
var employeeInsertSql_Params = ['Tim','男',22,'18818216454@163com']
connectionquery(employeeInsertSql,employeeInsertSql_Params,function(err,result){
if(err) consolelog('[INSERT ERR]-',errmessage);
consolelog(result);
}) }addEmployee()
}
/
更新员工
/
function insertEmployee(){
var employeeUpdateSql = "UPDATE employee SET name = WHERE age =";
var employeeUpdateSql_Params = ['Peter',22];
connectionquery(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) consolelog('[UPDATE ERR]-',errmessage);
consolelog(result);
})}
insertEmployee();
/
查询员工
/ function getEmployee(){
var employeeGetSql = "SELECT FROM employee";
connectionquery(employeeGetSql,function(err,result){
if(err) consolelog('[SELECT ERR]-',errmessage);
consolelog(result);
})}
getEmployee();
/删除员工
/ function deleteEmployee(){
var employeeDeleteSql = "DELETE employee WHERE name = ";
var employeeDeleteSql_Params = 'Peter';
connectionquery(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){
if(err) consolelog('[DELETE ERR]-',errmessage);
consolelog(result);
})
}deleteEmployee();
这样我们就可以愉快的 *** 作数据库了
如果大家想把项目更模块化 *** 作,可在model下面新建一个employee_twojs,代码如下
var mysql = require('mysql');var connection = mysqlcreateConnection({host:'',
user:'root',
password:'',
database:'nodejs',
port:})connectionconnect();/
增加员工
@param {String} employee
@param {Function} callback
/exportsaddEmployee=function(employee,callback){
var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(,,,)';
var employeeInsertSql_Params = [employeename,employeesex,employeeage,employeeemail]
connectionquery(employeeInsertSql,employeeInsertSql_Params,callback)}/
更新员工
@param {String} employee
@param {Function} callback
/exportsupdateEmployee = function(name,age){
var employeeUpdateSql = "UPDATE employee SET name = WHERE age =";
var employeeUpdateSql_Params = ['Peter',22];
connectionquery(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) consolelog('[UPDATE ERR]-',errmessage);
consolelog(result);
})}/
查询员工
/exportsgetEmployee = function(){
var employeeGetSql = "SELECT FROM employee";
connectionquery(employeeGetSql,callback)}/
删除员工
@param {String} name
/exportsdeleteEmployee = function(name){
var employeeDeleteSql = "DELETE employee WHERE name = ";
var employeeDeleteSql_Params = 'Peter';
connectionquery(employeeDeleteSql,employeeDeleteSql_Params,callback)
}再在根目录下新建indexjs,代码如下var db = require('/model/employee_two');//增加员工var employee = {
name:'lisa',
age:22,
sex:"女",
email:'99533212@qqcom'}dbaddEmployee(employee,function(err,result){
if(err) consolelog("[INSERT err]-",errmessage)
consolelog(result);})//删除员工dbdeleteEmployee('Peter',function(err,result){
if(err) consolelog("[DELETE err]-",errmessage)
consolelog(result);})//更新员工dbupdateEmployee('Tim',23,function(err,result){
if(err) consolelog("[UPDATE err]-",errmessage)
consolelog(result);})//查询员工dbgetEmployee(function(err,result){
if(err) consolelog("[GET err]-",errmessage)
consolelog(result);})
以上就是关于js怎样连接和调用mysql数据库全部的内容,包括:js怎样连接和调用mysql数据库、前端新人,请问JS如何连接mysql、怎么用js连接数据库呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)