js访问数据库
一、js访问数据库的一般步骤:
1、 创建一个到数据库的 ADO 连接
conn = new ActiveXObject("ADODB.Connection");
2、 打开数据库连接
conn.open(ConnectionString, 'sa', 'password', -1);
3、 创建 ADO 记录集
rs = new ActiveXObject("ADODB.Recordset");
4、 从记录集提取您需要的数据
rs.Open(sql, conn);
var tempstr = "";
while (!rs.EOF) {
tempstr += rs.Fields("Id") + " " + rs.Fields("Name");
rs.moveNext(); //移动向下一个记录
}
alert(tempstr)
5、关闭记录集
rs.close();
6、 关闭连接
conn.close();
二、ADO对象:
1、Connection
Connection 对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。
创建
conn =new ActiveXObject("ADODB.Connection");
方法
<1>打开一个连接
conn.open(ConnectionString, UserID, Password,Options);
ConnectionString :通过传递包含一系列由分号分隔的 argument = value 语句的详细连接字符串可指定数据源。
<2>关闭一个连接
conn.close();
<3>执行查询、SQL 语句、存储过程或 provider 具体文本。
conn.Execute(CommandText, RecordsAffected, Options)
CommandText: 字符串,包含要执行的 SQL 语句、表名、存储过程或特定提供者的文本。
RecordsAffected:可选,长整型变量,提供者向其返回操作所影响的记录数目。
Options:可选,长整型值,指示提供者应如何计算 CommandText 参数,
2、Recordset
Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。
创建
rs = new ActiveXObject("ADODB.Recordset");
属性
<1>BOF
如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。
<2>EOF
如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。
<3>RecordCount
返回一个 Recordset 对象中的记录数目。
方法
<1>打开一个数据库元素
rs.open(Source, ActiveConnection, CursorType, LockType, Options);
Source :可选, Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。
ActiveConnection:可选,有效 Connection 对象变量名;或字符串,包含 ConnectionString 参数。
CursorType : 可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。
LockType : 可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值。
Options :可选,用于指示提供者如何计算 Source 参数(如果它代表的不是 Command 对象),或从以前保存 Recordset 的文件中恢复 Recordset。
<2>关闭一个 Recordset。
rs.close();
<3>把多条记录从一个 Recordset 对象中拷贝到一个二维数组中
rs.GetRows(Rows, Start, Fields)
Rows:可选,指定要检索记录数。不指定时将自动检索 Recordset 对象中的所有记录。
Start:可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。
Fields :可选,代表单个字段名、顺序位置、字段名数组或顺序位置,ADO 仅返回这些字段中的数据。
<4>将 Recordset 作为字符串返回。
rs.GetString()
三、ConnectionString
包含用于建立连接数据源的信息。
ADO 支持的参数如下(任何其他参数将直接传递到提供者而不经过 ADO 处理)
Provider= |
|
File Name= |
指定包含预先设置连接信息的特定提供者的文件名称(例如,持久数据源对象)。 |
Remote Provider= |
指定打开客户端连接时使用的提供者名称。(仅限于远程数据服务) |
Remote Server= |
指定打开客户端连接时使用的服务器的路径名称。(仅限于远程数据服务) |
var ConnectionString = 'Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=HZYL_QZJ;Data Source=192.168.0.5;Connect Timeout=5;Use Procedure for Prepare=1';
js访问数据库的更多相关文章
- [转]html5 js 访问 sqlite 数据库的操作类
本文转自:http://blog.csdn.net/tsxw24/article/details/7613815 webkit 核心的浏览器提供了 3个 api接口,用于访问本地sqlite数据,但使 ...
- js自动访问数据库
js自动访问数据库 maven依赖 <dependencies> <dependency> <groupId>junit</groupId> <a ...
- 杂记-格式化Date默认格式,日期加一天,jstl判断字符类型,ajax模拟from表单后台跳转页面,jstl访问数据库并在页面显示
1.格式化Date默认格式 String str="Sun Oct 08 22:36:45 CST 2017"; SimpleDateFormat sdf = new Simple ...
- C#使用ADO.NET访问数据库(一)
博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...
- Android 异步任务,通过PHP访问数据库,多线程,线程间通讯
文章列表MainActivity.java package com.eric.asynctask; import java.io.IOException; import java.util.Array ...
- ADO.NET 访问数据库
对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...
- 如何通过JDBC访问数据库
Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...
- (转)发布Silverlight+WCF程序到IIS后,客户端访问数据库失败的解决方案
转自url:http://greatverve.cnblogs.com/archive/2011/11/30/silverlight-wcf-pub.html 我们在编写Silverlight程序时, ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
随机推荐
- Docker 部署Jira8.1.0
Jira与Confluence一样,都需要用到独立的数据库,对于数据库的安装我们不做介绍,主要介绍如何用Docker部署Jira以及对Jira进行破解的操作. 1.数据库准备 关于数据库官方文档说明: ...
- Visual Studio 开发大量 JavaScript 代码项目程序崩溃的解决方案
最近公司做新项目,基于 Bootstrap.AngularJS 和 kendo 开发一套后台的管理系统,在项目中使用了大量的 JavaScript 文件,这两天 Visual Studio 2015 ...
- 常用shell命令积累
把学习工作中见到的shell命令积累下来 创建文件夹 mkdir 创建文件 touch 发送get请求 curl xxxxx 发送post请求 curl -d xxxxx
- Apache Log View 5.37破解笔记
i春秋作家:Sp4ce 之前说过要分享这个日志分析工具[记一次简单的攻击日志分析]的破解版,在破解的路上踩了几个坑,记录分享下. 0×00程序概述 原程序 大小: 2283672 字节文件版本: 5. ...
- Android 主Module引用依赖Module,却无法使用里面的依赖库
如果模块化开发中遇到 多模块的AndroidManifest.xml没有合并or多模块的资源文件没有合并or模块A include了模块B,而无法使用模块B内依赖的其他aar包中的类的时候or提示Su ...
- string和char*
string转const char* string s = "hello furong."; const char *c = s.c_str(); string转char* str ...
- gcc和g++编译器
.c文件,gcc当做c语言处理 .cpp文件,gcc和g++当做c++处理 .c文件和.cpp文件编译时,都是使用的gcc编译器 .cpp使用gcc链接,需要加入-lstdc++选项 举例 #incl ...
- 【Redis】事务 (超详细)
一.概述 二.相关命令列表 2.1 MULTI 2.2 EXEC 2.3 DISCARD 2.4 WATCH key [key ...] 2.5 UNWATCH 三.命令示例 3.1 事务被正常执行 ...
- LVS、nginx、Haproxy对比(详细)
目录 代理软件 负载均衡产品介绍 haproxy 本文档参考 http://www.ha97.com/5646.html 代理软件 负载均衡产品介绍 市面上的负载均衡产品主要分为两种:硬件产品和软件产 ...
- 关于stm32 SDIO初始化TF卡 失败的问题
类似问题:http://www.openedv.com/thread-33232-1-1.html 现象:初始化4bit SDIO模式的TF卡,卡死在初始化过程中. 问题现象代码移植于野火开发板相关例 ...