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數據庫的方案。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。