JavaScript是没办法和数据库进行交互的,正常都是在服务器端已经把数据处理好之后,将生成静态的HTML代码发送给客户端,除非用异步交互,使用Ajax将发送一个异步的请求到服务器,然后由服务器去连接数据库,再将数据传回。
或者如果是想在第一次加载页面的时候用JavaScript取到数据,直接将数据库取出的数据直接存入到html页面里面的一个隐藏的标签内,然后再用JavaScript里面取DOM的API去取得数据。 当然这只是一个小技巧。。。
测试的电脑已经装好Oracle客户端,而且用SQLplus可以连接上。
/
This sample shows how to list all the names from the EMP table
It uses the JDBC THIN driver See the same program in the
oci8 samples directory to see how to use the other drivers
/
// You need to import the javasql package to use JDBC
import javasql;
class Test
{
public static void main (String args [])
throws SQLException
{
// Load the Oracle JDBC driver
DriverManagerregisterDriver(new oraclejdbcOracleDriver());
/ try{
ClassforName("oraclejdbcdriverOracleDriver");
}catch(Exception e){
Systemoutprintln("No Driver!");
}
/
// Connect to the database
// You must put a database name after the @ sign in the connection URL
// You can use either the fully specified SQLnet syntax or a short cut
// syntax as <host>:<port>:<sid> The example uses the short cut syntax
String url = "jdbc:oracle:thin:@172283185:1521:YIKATONG";
String userName = "scott";
String password = "tiger";
if (argslength > 0) url = args[0];
if (argslength > 1) userName = args[1];
if (argslength > 2) password = args[2];
Systemoutprintln(url);
Systemoutprintln(userName);
Systemoutprintln(password);
Connection conn =
DriverManagergetConnection (url, userName, password);
// Create a Statement
Statement stmt = conncreateStatement ();
// Select the ENAME column from the EMP table
ResultSet rset = stmtexecuteQuery ("select from Test");
// Iterate through the result and print the employee names
while (rsetnext ())
Systemoutprintln (rsetgetString (1));
}
}
补充日期: 2005-03-14 20:20:29
Java与Oracle的两种连接方式
src=>(作者:huihoo)
第一种方式:通过数据库本身的JDBC Driver连接到数据库
ClasssforName("oraclejdbcdriverOracleDriver");
Connection conn = DriverManagergetConnection("jdbc:oracle:thin:@192168133:1521:huihoo","scott","tiger");
第二种方式:通过JDBC-ODBC桥连接到数据库
ClassforName("sunjdbcodbcJdbcOdbcDriver");
Connection conn = DriverManagergetConnection("jdbc:odbc:192168133","scott","tiger");
192168133为数据源
完整的用户登录
Properties props = new Properties();
propsput("user", "scott");
propsput("password", "tiger");
Driver myDriver = (Driver) ClassforName("oraclejdbcdriverOracleDriver")newInstance();
conn = myDriverconnect("jdbc:oracle:thin:@192168133:1521:huihoo", props);
connclose();
Systemoutprintln("成功登录");
Systemoutprintln("欢迎您 "+propsgetProperty("user")+"!");
var str1 = {"name": "apple", "sex": "21"}; // 参数:prop = 属性,val = 值function createJson(prop, val) { // 如果 val 被忽略 if(typeof val === "undefined") { // 删除属性 delete str1[prop]; } else { // 添加 或 修改 str1[prop] = val; }}
从技术上而言,JavaScript是可以直接访问mysql数据库的,但浏览器出于安全考虑(因为这样一来数据库的登录信息就完全暴露在所有用户的眼里了,别人就可以绕开你的程序直接访问数据库,甚至可以任意增删改你的数据),都对这个功能进行了非常严格的限制(也就是说其实还是可以访问的,但必须把浏览器的安全等级调到最低最低!),所以这种需求在实际应用中很难实现。
这样就需要一个中间程序,放在网络服务器中,html(含JavaScript)向这个中间程序发送请求,由它去mysql数据库中获取数据,再把数据发送回html。这类似于点外卖,你在网络上点餐,跑腿小哥就会把你点的食物送到你手上。对于浏览器而言,发送请求和返回数据的过程都是安全的(对数据库的所有 *** 作都发生在网络服务器中,网页用户是看不到的),这样就没有限制了。
这个中间程序的开发语言(或者说架构)一般是PHP、ASP、ASPNET、JSP等,也就是通常所说的“后台程序”。
jQuery则是JavaScript的一个框架(或者说插件、函数库),它是把JavaScript的一些复杂的 *** 作封装成简单的、容易 *** 作的函数和对象,所以jQuery本质上还是JavaScript。如果把JavaScript比作普通的面条,那么jQuery就好比是方便面,它帮你把做面的一些关键步骤先做好了,然后你只需要几个简单的 *** 作就可以吃到嘴里了。
ajax则是JavaScript(含jQuery)向服务器的中间程序(即上面所说的)发送请求并处理返回数据的一种技术,可以实现网页未刷新的情况下实时动态更新网页上的数据。它实际上也仍然是包含在JavaScript范畴内的。
xml是网络间数据传输的一种数据格式,但现在更流行的则是json。
所以实际的网络数据访问流程是:
html+JavaScript(jquery)
↓↑
PHP(ASP、ASPNET、JSP)
↓↑
MySql
在这其中JavaScript的作用反而是次要的,它只是起到在数据访问的前后对数据进行加工、筛选的作用,甚至可以完全抛开js,直接利用表单提交来实现数据访问和展示的目的,即:
html+Form
↓↑
PHP(ASP、ASPNET、JSP)
↓↑
MySql
页面本身是不具备保存历史数据的功能的,需要借助其它手段来实现,常用方法如下:
异步更新页面。这种方法实际上页面是没有刷新的,通过AJAX导步获取信息来更新页面,这样可以保留原页面需要保留的数据。一些网站的发表评论后,评论内容更新,用的就是这个方法。
使用COOKIE保存。把需要保存的数据存储到COOKIE中,页面更新时,读取COOKIE渲染到页面上。比较常见的如:登录框记录用户名,下次登录无须重新输入。但COOKIE存储的数据量有限,不适合大的数据存储。
服务器端保存数据。与COOKIE保存类似,只不过内容是保存在服务器端,利用会话机制在页面更新时从服务器读取内容重新渲染。这是一种常见的而保险的方法。像一些文本编辑器,保存草稿等,就是通过这样的方式实现的
楼主这段代码明显是运行在客户端的,但是你想在客户端用JavaScript直接访问服务器的数据库,虽然可以实现,但是你网站的安全性就毫无保障了,等于数据库暴露在所有人眼下,所以,最好是客户端JavaScript发请求,服务器接受请求然后查找数据库再返回给客户端,最后由客户端JavaScript显示。
实现起来也不难,但是代码一长串,还分客户端服务器端,所以建议楼主先去了解下异步传输(Ajax的核心技术,其实也是JavaScript)的相关知识。
ps:如果楼主仅仅是一个留言这么少的请求,那么大可不必借助第三方的比如JQuery等的框架,自己用xml>
以上就是关于如何通过JavaScript第一次加载页面时取到数据库中数据全部的内容,包括:如何通过JavaScript第一次加载页面时取到数据库中数据、JS中怎么连接数据库,和提取数据库中的数据、JS怎样可以获取数据库里面的数据,并且可以修改数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)