整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

ASP.NET Web Forms-数据库连接

DO.NET 也是 .NET 框架的组成部分。ADO.NET 用于处理数据访问。通过 ADO.NET,您可以操作数据库。


数据库连接 - 绑定到 DataList 控件

数据库连接 - 绑定到 Repeater 控件


什么是 ADO.NET?

  • ADO.NET 是 .NET 框架的组成部分

  • ADO.NET 由一系列用于处理数据访问的类组成

  • ADO.NET 完全基于 XML

  • ADO.NET 没有 Recordset 对象,这一点与 ADO 不同


创建数据库连接

在我们的实例中,我们将使用 Northwind 数据库。

首先,导入 "System.Data.OleDb" 命名空间。我们需要这个命名空间来操作 Microsoft Access 和其他 OLE DB 数据库提供商。我们将在 Page_Load 子例程中创建这个数据库的连接。我们创建一个 dbconn 变量,并为其赋值一个新的 OleDbConnection 类,这个类带有指示 OLE DB 提供商和数据库位置的连接字符串。然后我们打开数据库连接:

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">

sub Page_Load

dim dbconn

dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

data source=" & server.mappath("northwind.mdb"))

dbconn.Open()

end sub

</script>

注释:这个连接字符串必须是没有折行的连续字符串!


创建数据库命令

为了指定需从数据库取回的记录,我们将创建一个 dbcomm 变量,并为其赋值一个新的 OleDbCommand 类。这个 OleDbCommand 类用于发出针对数据库表的 SQL 查询:

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">

sub Page_Load

dim dbconn,sql,dbcomm

dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

data source=" & server.mappath("northwind.mdb"))

dbconn.Open()

sql="SELECT * FROM customers"

dbcomm=New OleDbCommand(sql,dbconn)

end sub

</script>


创建 DataReader

OleDbDataReader 类用于从数据源中读取记录流。DataReader 是通过调用 OleDbCommand 对象的 ExecuteReader 方法来创建的:

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">

sub Page_Load

dim dbconn,sql,dbcomm,dbread

dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

data source=" & server.mappath("northwind.mdb"))

dbconn.Open()

sql="SELECT * FROM customers"

dbcomm=New OleDbCommand(sql,dbconn)

dbread=dbcomm.ExecuteReader()

end sub

</script>


绑定到 Repeater 控件

然后,我们绑定 DataReader 到 Repeater 控件:

实例

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">

sub Page_Load

dim dbconn,sql,dbcomm,dbread

dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

data source=" & server.mappath("northwind.mdb"))

dbconn.Open()

sql="SELECT * FROM customers"

dbcomm=New OleDbCommand(sql,dbconn)

dbread=dbcomm.ExecuteReader()

customers.DataSource=dbread

customers.DataBind()

dbread.Close()

dbconn.Close()

创建测试数据

接下来我们在 MySQL 中创建 RUNOOB 数据库,并创建 websites 数据表,表结构如下:

CREATE TABLE `websites` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',

`url` varchar(255) NOT NULL DEFAULT '',

`alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',

`country` char(10) NOT NULL DEFAULT '' COMMENT '国家',

PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

插入一些数据:

INSERT INTO `websites` VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA'), ('2', '淘宝', 'https://www.taobao.com/', '13', 'CN'), ('3', '菜鸟教程', 'http://www.runoob.com', '5892', ''), ('4', '微博', 'http://weibo.com/', '20', 'CN'), ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');

数据表显示如下:

SELECT操作

接下来的这个例子告诉我们如何使用JSTL SQL标签来运行SQL SELECT语句:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*,java.sql.*"%><%@ page import="javax.servlet.http.*,javax.servlet.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html><head><title>SELECT 操作</title></head><body><!--

JDBC 驱动名及数据库 URL

数据库的用户名与密码,需要根据自己的设置

useUnicode=true&characterEncoding=utf-8 防止中文乱码

--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"

user="root" password="123456"/>

<sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 数据库实例 - 菜鸟教程</h1><table border="1" width="100%"><tr>

<th>ID</th>

<th>站点名</th>

<th>站点地址</th></tr><c:forEach var="row" items="${result.rows}"><tr>

<td><c:out value="${row.id}"/></td>

<td><c:out value="${row.name}"/></td>

<td><c:out value="${row.url}"/></td></tr></c:forEach></table>

</body></html>

访问这个JSP例子,运行结果如下:

INSERT操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL INSERT语句:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*,java.sql.*"%><%@ page import="javax.servlet.http.*,javax.servlet.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html><head><title>SELECT 操作</title></head><body><!--

JDBC 驱动名及数据库 URL

数据库的用户名与密码,需要根据自己的设置

useUnicode=true&characterEncoding=utf-8 防止中文乱码

--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"

user="root" password="123456"/><!--

插入数据

--><sql:update dataSource="${snapshot}" var="result">INSERT INTO websites (name,url,alexa,country) VALUES ('菜鸟教程移动站', 'http://m.runoob.com', 5093, 'CN');</sql:update><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 数据库实例 - 菜鸟教程</h1><table border="1" width="100%"><tr>

<th>ID</th>

<th>站点名</th>

<th>站点地址</th></tr><c:forEach var="row" items="${result.rows}"><tr>

<td><c:out value="${row.id}"/></td>

<td><c:out value="${row.name}"/></td>

<td><c:out value="${row.url}"/></td></tr></c:forEach></table>

</body></html>

访问这个JSP例子,运行结果如下:

DELETE操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL DELETE语句:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*,java.sql.*"%><%@ page import="javax.servlet.http.*,javax.servlet.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html><head><title>SELECT 操作</title></head><body><!--

JDBC 驱动名及数据库 URL

数据库的用户名与密码,需要根据自己的设置

useUnicode=true&characterEncoding=utf-8 防止中文乱码

--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"

user="root" password="123456"/><!--

删除 ID 为 11 的数据

--><sql:update dataSource="${snapshot}" var="count">

DELETE FROM websites WHERE Id = ? <sql:param value="" /></sql:update><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 数据库实例 - 菜鸟教程</h1><table border="1" width="100%"><tr>

<th>ID</th>

<th>站点名</th>

<th>站点地址</th></tr><c:forEach var="row" items="${result.rows}"><tr>

<td><c:out value="${row.id}"/></td>

<td><c:out value="${row.name}"/></td>

<td><c:out value="${row.url}"/></td></tr></c:forEach></table>

</body></html>

访问这个JSP例子,运行结果如下:

UPDATE操作

这个例子告诉我们如何使用JSTL SQL标签来运行SQL UPDATE语句:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%><%@ page import="java.io.*,java.util.*,java.sql.*"%><%@ page import="javax.servlet.http.*,javax.servlet.*" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html><head><title>SELECT 操作</title></head><body><!--

JDBC 驱动名及数据库 URL

数据库的用户名与密码,需要根据自己的设置

useUnicode=true&characterEncoding=utf-8 防止中文乱码

--><sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&characterEncoding=utf-8"

user="root" password="123456"/><!--

修改 ID 为 3 的名字:菜鸟教程改为 RUNOOB

--><c:set var="SiteId" value="3"/>

<sql:update dataSource="${snapshot}" var="count">

UPDATE websites SET name = 'RUNOOB' WHERE Id = ? <sql:param value="${SiteId}" /></sql:update><sql:query dataSource="${snapshot}" var="result">SELECT * from websites;</sql:query><h1>JSP 数据库实例 - 菜鸟教程</h1><table border="1" width="100%"><tr>

<th>ID</th>

<th>站点名</th>

<th>站点地址</th></tr><c:forEach var="row" items="${result.rows}"><tr>

<td><c:out value="${row.id}"/></td>

<td><c:out value="${row.name}"/></td>

<td><c:out value="${row.url}"/></td></tr></c:forEach></table>

</body></html>

访问这个JSP例子,运行结果如下:

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

Javascript无法直接访问SqlServer数据库的,但可以使用浏览器的“执行SQL”功能查询数据库,将查询结果保存在浏览器变量中,然后在Javascript代码中引用这些变量即可。在浏览器的项目管理器中,新建执行SQL步骤,设置好SqlServer数据库连接参数,以及Sql查询语句和引用变量值。

Sqlserver连接参数及查询语句


在Javascript代码输入框中,点击鼠标右键选择Sql查询结果中对应的字段,这样就把Sql查询结果赋值给Javascript变量了。

Javascript引用Sqlserver查询结果


在网页填表步骤中,可直接引用Javascript变量的值。

Javascript变量的应用


提示:如果把Sql语句改为Install,则可以构建把Javascript变量插入到Sqlserver数据库的方案。