javascript操作資料庫
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文件下載下來進行分析,所以沒辦法用它來保存一些不想讓別人知道的東西。
② javascript 中能不能操作資料庫
可以..
IE下可以用ActiveXObject來做.不過不推薦這樣.
也可以考慮操作Iframe
或者Ajax
等來用伺服器端方法完成...
③ javascript怎樣實現雙擊table的td實現編輯,並能保存到資料庫
javascript實現雙擊table的td實現編輯,並保存到資料庫,需要執行以下操作:
網頁上,想輸入文字,是需要文本框支持的。所以,想實現完美效果,建議td中加入2個元素:
<span></span>
<input type="text">
使用jquery綁定td的雙擊事件dblclick,事件效果:將span的文本賦值給input的value,隱藏span,顯示input使用jquery綁定input的焦點丟失事件blur,事件效果:將input的value賦值給span的文本,隱藏input,顯示span
注意,table初始化的時候,span顯示,input隱藏,並且span中的文本與input的value相同
④ 如何在javascript中訪問mysql資料庫
可以訪問,具體實現如下:
javaScript DataBase Connector
JSDBC:提供Javascript有效的連接資料庫,目前支持MySQL、SQLite、ACCESS,後期會支持更多的資料庫;
在從事AJAX開發的工程師肯定會希望有一個通過AJAX直接連接資料庫的組件,這樣,可以省掉後台很多的操作步驟,比如免去了部署JAVA的運行環境,免去了寫很多復雜的JDBC調用,不管出於調試的需要還是應用的需要,JSDBC都能夠很好的集成到您的應用當中。
參考代碼如下:
該腳本主要是實現與JSDBC for MySQL 連接,方便用戶在js直接使用MySQL
document.writeln(" <OBJECT id='mysql' classid='clsid:9C579403-6745-4695-B14C-96212D319F18'");
document.writeln(" codebase='JSDBC_MySQL.ocx#Version=1,0,0,000'");
document.writeln(" WIDTH='0' HEIGHT='0'>");
document.writeln(" </OBJECT>");
//error message
var lasterr = "";
//Exec Falg
var execFlag;
/**
* Connecte to mysql server
* provite:MySQL IP,PORT,DB Name,USER,Password,CharSet
*/
function connectMySQL()
{
execFlag = mysql.connecte("127.0.0.1","3306","testdb","root","123210","GBK");
if(execFlag == 1)
return 1;
else
{
lasterr = mysql.getLastError();
return 0;
}
}
⑤ javascript能操作資料庫嗎
javascript只是腳本語言,如果應用在客戶端,那麼是不可能操作資料庫的;
但若js在伺服器端應用,如ASP以JS為宿主腳本來開發ASP站點時,也不可以操作資料庫,ASP是依靠SERVER內置對象來操作資料庫的。
⑥ javascript怎樣操作資料庫
javascript是運行在瀏覽器內的腳本語言,為了安全,不能訪問任何的系統資源,所以也不可能直接訪問資料庫。如果需要在瀏覽器中進行資料庫操作的話,通常的方法是在WEB伺服器上採用ASP JSP之類的語言訪問資料庫,然後把結果返回給瀏覽器中運行的Javascript流程就是(以ASP為例) 瀏覽器上Javascript發起網頁請求-->ASP訪問資料庫-->ASP生成結果(例如是一行行的文本)-->瀏覽器上Javascript分析結果-->把結果在瀏覽器上顯示。相關的技術有 AJAX(可以參考下JQuery),ASP訪問資料庫(這個很多辦法,自己網路吧)。
⑦ javascript可以訪問什麼資料庫
javascript 是基於對象的編程,在不引用外部組建的情況下,javascript內部沒有連接資料庫的對象。但是通過組件可以間接的進行資料庫操作。只要連上了,理論上資料庫都能訪問。
⑧ javascript怎麼與資料庫連接
第一步定義連接字元串
var MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\cs\\benlen\\gbmdb.mdb;Persist Security Info=False"
第二步創建adodb對象
var con = Server.CreateObject("ADODB.Connection");con.ActiveConnection = MM_conn_STRING;con.Open();
這下 就連接好了資料庫。
第三步創建記錄集
var rs = Server.CreateObject("ADODB.Recordset");rs.ActiveConnection = MM_conn_STRING;rs.Source = "SELECT * FROM admin";rs.CursorType = 0;rs.CursorLocation = 2;rs.LockType = 1;rs.Open();var rs_numRows = 0;
這樣我們資料庫連接就完成了
以下是示例代碼:
<script type="text/javascript" language="javascript" charset="gb2312">
<!--
function getCountFromDB() {
//以當前頁面文件為基礎,找到文件所在的絕對路徑。
var filePath = location.href.substring(0, location.href.indexOf("index.html"));
var path = filePath + "MyData.mdb";
//去掉字元串中最前面的"files://"這8個字元。
path = path.substring(8);
var updateCnt = 0;
//生成查詢和更新用的sql語句。
var sqlSelCnt = "SELECT * FROM [user]";
//建立連接,並生成相關字元串。
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("content");
document.write (cnt);
rs.moveNext;
}
rs.close();
rs = null;
}