我知道 ie 怎么連接,別的瀏覽器不行。首先先去mysql官網下載個 odbc 然后安裝,安裝完再去控制面板找到“管理工具”--》“(ODBC)數據源”--》(如果是在自己電腦上測試就選
10年積累的成都網站設計、成都網站建設、外貿網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有君山免費網站建設讓你可以放心的選擇與我們合作。
“用戶DSN”,如果想被別人訪問就選“系統(tǒng)DSN”) 然后添加mysqlodbc,然后把驅動的名字記下來(不是你起的名字,是后面自帶的名字!),準備工作做完,我們就可以通過代碼訪問數據庫了。(注:我第一次安裝ODBC,用js調用時提示我未知數據源一類的話,卸載ODBC后再次安裝ODBC就正常了) 用 ie 先調用odbc驅動 然后操作mysql,話不多說,上代碼!
//創(chuàng)建數據庫連接對象
var conn = new ActiveXObject("ADODB.Connection");
//創(chuàng)建數據集對象
var rs = new ActiveXObject("ADODB.Recordset");
try{
//MySQL ODBC 5.3 ANSI Driver 這個就是我剛才說讓你記得驅動的名字
var connectionstring = "Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;User=root;Password=root;Database=mysql;Option=3;Port=3306";
console.log(connectionstring);
//打開連接
conn.open(connectionstring);
//查詢語句
var sql = " select * from table1 ";
//打開數據集(即執(zhí)行查詢語句)
rs.open(sql,conn);
//(或者rs=conn.execute(sql);)
//遍歷所有記錄
while(!rs.eof){
//WScript是Windows 的腳本宿主對象,詳細情況請在windows幫助里查找。
//WScript.Echo輸出記錄的內容
document.write(rs.Fields("id") + "\t" + rs.Fields("name") + "\n");
//下一條記錄
rs.moveNext();
}
//關閉記錄集
rs.close();
//關閉數據庫連接
conn.close();
} catch(e){
//異常報告
document.write(e.message);
} finally{
//
}
JS訪問數據庫應該是可以的,前提是你必須把網頁保存成*.hta格式。html格式的文件沒有足夠的權限。
樓主如果想在網頁中訪問數據庫,就不要使用JS吧,PHP/ASP/JSP都行。
如果樓主想做一個本地使用的程序訪問數據庫,那只要把頁面存成hta就行了。
安裝
$ npm install mysql
有關之前的0.9.x版本的信息, 請訪問 v0.9分支。
有時我還會要求你從Github安裝最新版以檢查bug是否已修復。在這種情況下,請輸入:
$ npm install mysqljs/mysql
引言
這是node.js的mysql驅動。它是用JavaScript編寫的,不需要編譯,完全遵循MIT許可協議。
下面是一個如何使用它的例子:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
connection.end();
從這個例子中,你可以了解到以下幾點:
對于一個連接,你所調用的每個方法都是按順序排隊并依次執(zhí)行的。
使用end()關閉連接,以確保給mysql服務器發(fā)送退出(quit)包以前執(zhí)行所有剩余的查詢。
推薦的建立鏈接的一個方法:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
然后,我們可以通過建立一個連接來進行查詢:
var mysql = require('mysql');
var connection = mysql.createConnection(...);
connection.query('SELECT 1', function(err, rows) {
// connected! (unless `err` is set)
});
以上二種方法都是正確且合適的。至于如何取舍,就要看你怎么去處理所遇到的錯誤了。不管哪種類型的錯誤,那都是致命的,我們需要去看所提示的具體的錯誤信息。
連接參數
在建立新連接時,可以設置以下參數:
host:連接的數據庫地址。(默認:localhost)
port:連接地址對應的端口。(默認:3306)
localAddress: 源IP地址使用TCP連接。(可選)
socketPath:當主機和端口參數被忽略的時候,可以填寫一個Unix的Socket地址。
user: mysql的連接用戶名。
password: 對應用戶的密碼。
database: 所需要連接的數據庫的名稱。(可選)
charset: 連接的編碼形式。這就是mysql中的整理。(例如:utf8_general_ci)如果被指定,則作為默認的整理排序規(guī)則。(默認:utf8_general_ci)
timezone:用來保存當前本地的時區(qū)。(默認:local)
connectTimeout: 設置在連接的時候,超過多久以后未響應則返回失敗。(默認:10000)
stringifyObjects: stringify對象代替轉換值。issue# 501。(默認:false)
insecureAuth:使用舊(不安全)的連接方式去連接MySQL。(默認:false)
typeCast: 確定列值是否需要轉換為本地JavaScript類型。(默認:true)
queryFormat:自定義查詢的方式。地址:Custom format.
supportBigNumbers: 如果你使用了BIGINT和DECIMAL格式的表列,那么需要開啟這個參數來支持。(默認:false)只有當他們超過JavaScript所能表達的 最長的字節(jié)的時候,如果沒有設置這個參數,則會將過長的數字作為字符串傳遞。否則,返回對象的長度。如果supportBigNumbers參數被忽略, 則這個參數也會被忽略。
dateStrings:一些日期類型(TIMESTAMP, DATETIME, DATE)會以Strings的類型返回,然后轉換成JavaScript的日期對象。(默認:false)
debug:是否把連接情況打印到文件。(默認:false)
trace: 生成錯誤的堆棧跟蹤,包括庫入口的調用位置(“長堆棧的軌跡”)。一般會造成輕微的性能損失。(默認:true)
終止連接
終止連接的方法有兩種。調用end()方法可以正常地終止一個連接:
connection.end(function(err) {
// 連接終止
});
這種方法將確保給MySQL服務器發(fā)送COM_QUIT包之前所有隊列中的查詢都會被執(zhí)行。如果在發(fā)送COM_QUIT包之前發(fā)生了致命錯誤,那么會給回調函數傳遞一個err參數,但是不管怎樣連接都會關閉。
另外一種終止連接的方法是調用destroy()方法。該方法會立即終止底層套接字(underlying socket)。另外,destroy()不會觸發(fā)更多的事件和回調函數。
根據他填的用戶名到數據庫去查。。
如果有記錄。。就說明重復了。。不讓他注冊
我這有個的例子。。
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e) {}
//定義所要用到的三個數據庫應用對象
Connection con=null; //連接對象
Statement sql=null; //Statement對象(SQL語句)
ResultSet rs=null; //結果集對象
//進行數據源的連接
try{
con=DriverManager.getConnection ("jdbc:mysql://localhost/scutcs","","");//連接數據庫的url 用戶名和密碼
sql=con.createStatement();
String to="Select * From user1 Where username='"+username+"'";
rs=sql.executeQuery(to); //根據所定義的Statement執(zhí)行生成相應的結果集并存在RS中
if(rs.next()) //判斷結果集是否為空,如果不為空則表示有記錄
{
out.print("scriptalert('用戶名 "+xm+"已存在,請另選一個!');history.back();/script");//如果存在返回注冊頁面
}
else
}
catch (SQLException e)
{ out.print(e);
}
首先要明白一個概念 js是客戶端加載的不可能讓客戶端直接連數據庫,
如果連了就不安全啊,
所以需要服務端連接數據庫,服務端js連數據庫我只知道node.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.新建一個model.js 文件,
var mysql = require(‘mysql’);
var connection = mysql.createConnection({
? ? ?host:'',
? ? ?user:'root',
? ? ?password:'123abc',
? ? ?database:' nodejs',
? ? ?port:6445
? ? })
connection.connect();
這里的host為我們在騰訊云上開通的外地址,端口號也是在外網地址里面,注意要把外網地址寫分開,用戶為默認的管理員用戶,密碼為我們在云平臺上設置的密碼,數據庫為我們創(chuàng)建的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);})
當前標題:mysql和js怎么連接 js直接連接mysql
分享URL:http://jinyejixie.com/article18/dosoodp.html
成都網站建設公司_創(chuàng)新互聯,為您提供定制開發(fā)、網站排名、Google、建站公司、網站改版、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯