【发布时间】:2008-12-16 10:15:20
【问题描述】:
我必须通过我的网站显示我学生的分数。该数据库是使用Microsoft Access 创建的。当每个学生输入注册号时,如何在表格中显示他们的分数?
【问题讨论】:
-
来自@PeterMortensen 的链接不正确,应该是stackoverflow.com/questions/298057/…
标签: javascript database
我必须通过我的网站显示我学生的分数。该数据库是使用Microsoft Access 创建的。当每个学生输入注册号时,如何在表格中显示他们的分数?
【问题讨论】:
标签: javascript database
我知道这是一个老问题,但我碰巧遇到了这个项目,AccessDB,与这个问题同时,所以我想我会发布它。请注意,它表示它适用于 Internet Explorer。我猜他们正在使用 Microsoft 独有的功能来访问该文件,但我真的没有调查过。
来自他们的网站:
ACCESSdb 是一个 JavaScript 库,用于动态连接和 查询本地可用的 Microsoft Access 数据库文件 IE浏览器。您只需要一个 .mdb 文件;访问甚至没有 需要安装!
【讨论】:
JavaScript 不能直接访问数据库。您需要有一些服务器端组件来接收请求(可能通过 HTTP),解析它们并返回请求的数据。
然后 JavaScript 可以访问该组件以获取数据(嗯...闻起来像 AJAX)。
【讨论】:
为什么要使用 Javascript?它在站点访问者的浏览器中运行,即使有办法让它直接访问数据库(没有),这将是一个可怕的安全风险,因为它必须包含数据库密码,这样网站的每个访问者都可以完全访问数据库。
您需要的是在服务器上运行并访问数据库以根据在 HTML 表单中输入的数据向访问者提供不同页面的东西。用于此的典型语言是 PHP、Perl、Ruby 或 ASP。
另请注意,MS Access 作为 Web 应用程序的数据库后端是一个非常糟糕的选择,因为它不支持来自不同用户的并发访问。
总而言之,您似乎需要比本网站提供的更直接的帮助;尝试寻找您所在地区的网络应用专家。
【讨论】:
如果您正在寻找客户端数据库访问,那么其他人所说的。
如果您只是在寻找一种访问数据库的方法(不在浏览器中),并且 Javascript 是您最熟悉的语言,请尝试 JSDB。 (它是一个 Javascript 外壳,通过 ODBC、SQLite 和平面文件绑定数据库)我已经使用了很多,它是我首选的脚本外壳。
【讨论】:
这个问题很久以前就被问过了,最近我发现了一些对未来访问者有帮助的东西。 您实际上可以通过这个名为 mysqljs 的 javaScript 库访问您的数据库,可以从 http://www.mysqljs.com 下载该库
代码语法:
MySql.Execute(
"mysql.yourhost.com",
"username",
"password",
"database",
"select * from Users",
function (data) {
console.log(data)
});
注意:默认情况下没有安全性,您要编写自己的安全性代码
【讨论】:
我很久没有使用 M$ Access,但我认为他们有一些非常好的方法可以将数据导出为 HTML 格式。那将是静态 HTML 代码,但这对于您想要做的事情来说已经足够了。绝对比编写数据库后端容易...
【讨论】:
你是从客户端思考,而你应该从服务器端思考。
您需要在服务器端有一个脚本来查询 Access,并根据表单中提供的注册号的值为其创建 HTML。
脚本语言由您决定。鉴于您使用的是 Access,我想 Microsoft 系列语言中的一种会是最好的,并且您的机构已经有一个 Web 服务器(可能是 IIS)来托管您的网站。
第一件事:
从您的问题看来,这对您来说是全新的。然而,这是一个小项目,因此是学习如何编写交互式网站的理想起点。
【讨论】:
JavaScript(或任何客户端语言)无法访问仍位于服务器上的内容。您最好的选择是使用 AJAX 实现并拥有一系列 Web 服务,您可以从 JavaScript 查询这些服务并以可用格式(很可能是 JSON)返回结果。
【讨论】:
这是一个简单的 ASP (vbscript) 脚本,它将您的数据转储到一个表中。您可以编辑路径和查询以适应您的情况。正如其他人所提到的,它不能提供良好的安全性。
用 FILENAME.asp?regno=xxxxx 调用它
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:/YourDatabase.mdb"
SQL = "Select * from TABLENAME where regno=" & request("regno")
set RS= Conn.execute(SQL)
%>
<table>
<tr>
<% for x=0 to rs.fields.count-1 %>
<th><%=RS.fields(x).value%></th>
<% next %>
</tr>
<% do until RS.eof %>
<tr>
<% for x=0 to rs.fields.count-1 %>
<td><%=RS.fields(x).value%></td>
<% next %>
</tr>
<% rs.movenext %>
<% loop %>
</table>
<%
RS.close()
set Conn=nothing
%>
【讨论】:
您可以使用 PHP 将登录详细信息传递到访问数据库,以便提供更安全的登录。 最好还是将 mySql 与 PHP 一起使用。
【讨论】: