当前位置: 首页 > news >正文

ADO世界之FIRST

目录

一、ADO 简介

二、ADO 数据库连接

1.创建一个 DSN-less 数据库连接

2.创建一个 ODBC 数据库连接

3.到 MS Access 数据库的 ODBC 连接

4.ADO 连接对象(ADO Connection Object)

三、ADO Recordset(记录集)

1.创建一个 ADO 表记录集(ADO Table Recordset)

2.创建一个 ADO SQL 记录集 (ADO SQL Recordset)

3.从记录集中提取数据

4.ADO 记录集对象(ADO Recordset Object)

四、ADO 显示

1.显示字段名称和字段值

2.在一个 HTML 表格中显示字段名称和字段的值

3.向 HTML 表格添加标题

4.向 HTML 表格添加颜色

五、ADO 查询

1.显示选定的数据

2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录

3.仅显示 "Customers" 表中的西班牙客户

4.让用户根据国别来选择客户


一、ADO 简介

①ADO自述:

1.ADO 是一项微软的技术

2.ADO 是一个微软的 Active-X 组件

3.ADO 是一个访问数据库中数据的编程接口

4.ADO 指 ActiveX 数据对象(ActiveX Data Objects)

5.ADO 被用于从网页访问数据库

6.ADO 会随微软的 IIS 被自动安装

②从一个 ASP 页面内部访问数据库的通常的方法是:

1.创建一个到数据库的 ADO 连接

2.打开数据库连接

3.创建 ADO 记录集

4.从记录集提取您需要的数据

5.关闭记录集

6.关闭连接

二、ADO 数据库连接

在从某个网页访问数据之前,必须先建立一个数据库连接。

1.创建一个 DSN-less 数据库连接

连接到某一个数据库的最简单的方法是使用一个 DSN-less 连接。DSN-less 连接可被用于您的站点上的任何微软 Access 数据库。

假设您拥有一个名为 "northwind.mdb" 的数据库位于 "c:/webdata/" 的 web 目录中,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

%>

注意,在上面的例子中,您必须规定微软的 Access 数据库驱动程序(Provider),以及此数据库在计算机上的物理路径。

2.创建一个 ODBC 数据库连接

假设您拥有一个名为 "northwind" 的 ODBC 数据库,您可以使用下面的 ASP 代码连接到此数据库:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Open "northwind"

%>

通过一个 ODBC 连接,您可以连接到您的网络中任何计算机上的任何数据库,只要 ODBC 连接是可用的。

3.到 MS Access 数据库的 ODBC 连接

如何创建到一个 MS Access 数据库的连接:

1.打开控制面板中的 ODBC 图标

2.选择系统 ODBC 选项卡

3.点击 ODBC 选项卡中的添加按钮

4.选择 Driver to Microsoft Access,然后点击完成按钮

5.在下一个窗口中点击“选择”按钮来定位数据库

6.为此数据库赋予一个数据源名称(Data Source Name,DSN)

7.点击"确定"

注:此配置必须在您的网站所在的计算机上完成。假如您正在自己的计算机上运行PWS或者IIS,此架构是可以运行的,但是假如您的网站位于一台远程的服务器,您就必须拥有此服务器的物理访问权限,或者请您的 web 主机提供商为您做这些事情。

4.ADO 连接对象(ADO Connection Object)

ADO 连接对象用来创建到某个数据源的开放连接。通过此连接,您可以对此数据库进行访问和操作,查看此连接对象的所有方法和属性。

三、ADO Recordset(记录集)

如需读取数据库的数据,那么其中的数据必须首先被载入一个记录集中。

1.创建一个 ADO 表记录集(ADO Table Recordset)

假设有一个名为 "Northwind" 的数据库,通过下面的代码访问数据库中的 "Customers" 表:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Customers", conn

%>

2.创建一个 ADO SQL 记录集 (ADO SQL Recordset)

使用 SQL 访问 "Customers" 表中的数据:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Select * from Customers", conn

%>

3.从记录集中提取数据

假设用一个名为 "Northwind" 的数据库,通过下面的代码访问数据库中 "Customers" 表:

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

rs.Open "Select * from Customers", conn

for each x in rs.fields

   response.write(x.name)

   response.write(" = ")

   response.write(x.value)

next

%>

4.ADO 记录集对象(ADO Recordset Object)

ADO Recordset 对象可被用来容纳来自数据库表的记录集。

查看 ADO Recordset 对象的所有方法和属性。

四、ADO 显示

显示来自记录集中的数据的最常用的方法,就是把数据显示在 HTML 表格中。

1.显示字段名称和字段值

一个名为 "Northwind" 的数据库,显示出 "Customers" 表中的数据(记得以 .asp 为扩展名来保存这个文件):

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

rs.Open "SELECT * FROM Customers", conn

do until rs.EOF

  for each x in rs.Fields

    Response.Write(x.name)

    Response.Write(" = ")

    Response.Write(x.value & "<br />")

  next

  Response.Write("<br />")

  rs.MoveNext

loop

rs.close

conn.close

%>

</body>

</html>

2.在一个 HTML 表格中显示字段名称和字段的值

通过下面的代码把表 "Customers" 中的数据显示在一个 HTML 表格中:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

rs.Open "SELECT Companyname, Contactname FROM Customers", conn

%>

<table border="1" width="100%">

<%do until rs.EOF%>

   <tr>

   <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

   <%next

   rs.MoveNext%>

   </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

3.向 HTML 表格添加标题

为这个 HTML 表格添加标题:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers"

rs.Open sql, conn

%>

<table border="1" width="100%">

  <tr>

  <%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

  next%>

  </tr>

  <%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

  <%loop

  rs.close

  conn.close

  %>

</table>

</body>

</html>

4.向 HTML 表格添加颜色

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers"

rs.Open sql, conn

%>

<table border="1" width="100%" bgcolor="#fff5ee">

<tr>

<%for each x in rs.Fields

    response.write("<th align='left' bgcolor='#b0c4de'>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

五、ADO 查询

使用 SQL 来创建查询,指定仅查看选定的记录和字段。

1.显示选定的数据

仅显示 "Customers" 表的 "Companyname" 字段中以 A 开头的记录:

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open "c:/webdata/northwind.mdb"

set rs=Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers

WHERE CompanyName LIKE 'A%'"

rs.Open sql, conn

%>

<table border="1" width="100%">

  <tr>

  <%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

  next%>

  </tr>

  <%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

      <td><%Response.Write(x.value)%></td>

    <%next

    rs.MoveNext%>

    </tr>

  <%loop

  rs.close

  conn.close%>

</table>

</body>

</html>

2.仅显示 "Customers" 表的 "Companyname" 字段中大于 E 的记录

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers WHERE CompanyName>'E'"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%> </td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

3.仅显示 "Customers" 表中的西班牙客户

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs = Server.CreateObject("ADODB.recordset")

sql="SELECT Companyname, Contactname FROM Customers WHERE Country='China'"

rs.Open sql, conn

%>

<table border="1" width="100%">

<tr>

<%for each x in rs.Fields

    response.write("<th>" & x.name & "</th>")

next%>

</tr>

<%do until rs.EOF%>

    <tr>

    <%for each x in rs.Fields%>

       <td><%Response.Write(x.value)%> </td>

    <%next

    rs.MoveNext%>

    </tr>

<%loop

rs.close

conn.close

%>

</table>

</body>

</html>

4.让用户根据国别来选择客户

<html>

<body>

<%

set conn=Server.CreateObject("ADODB.Connection")

conn.Provider="Microsoft.Jet.OLEDB.4.0"

conn.Open(Server.Mappath("/db/northwind.mdb"))

set rs=Server.CreateObject("ADODB.recordset")

sql="SELECT DISTINCT Country FROM Customers ORDER BY Country"

rs.Open sql,conn

country=request.form("country")

%>

<form method="post">

Choose Country <select name="country">

<%  do until rs.EOF

    response.write("<option")

    if rs.fields("country")=country then

      response.write(" selected")

    end if

    response.write(">")

    response.write(rs.fields("Country"))

    rs.MoveNext

loop

rs.Close

set rs=Nothing %>

</select>

<input type="submit" value="Show customers">

</form>

<%

if country<>"" then

   sql="SELECT Companyname,Contactname,Country FROM Customers WHERE country='" & country & "'"

   set rs=Server.CreateObject("ADODB.Recordset")

   rs.Open sql,conn

%>

   <table width="100%" cellspacing="0" cellpadding="2" border="1">

   <tr>

     <th>Companyname</th>

     <th>Contactname</th>

     <th>Country</th>

   </tr>

<%

do until rs.EOF

   response.write("<tr>")

   response.write("<td>" & rs.fields("companyname") & "</td>")

   response.write("<td>" & rs.fields("contactname") & "</td>")

   response.write("<td>" & rs.fields("country") & "</td>")

   response.write("</tr>")

   rs.MoveNext

loop

rs.close

conn.Close

set rs=Nothing

set conn=Nothing%>

</table>

<%  end if %>

</body>

</html>

相关文章:

ADO世界之FIRST

目录 一、ADO 简介 二、ADO 数据库连接 1.创建一个 DSN-less 数据库连接 2.创建一个 ODBC 数据库连接 3.到 MS Access 数据库的 ODBC 连接 4.ADO 连接对象&#xff08;ADO Connection Object&#xff09; 三、ADO Recordset&#xff08;记录集&#xff09; 1.创建一个 …...

【COMP337 LEC 5-6】

LEC 5 Perceptron &#xff1a; Binary Classification Algorithm 8 感应器是 单个神经元的模型 突触连接的强度取决于接受外部刺激的反应 X input W weights a x1*w1x2*w2....... > / < threshold Bias MaxIter is a hyperparameter 超参数 which has to be chosen…...

力扣72. 编辑距离(动态规划)

Problem: 72. 编辑距离 文章目录 题目描述思路复杂度Code 题目描述 思路 由于易得将字符串word1向word2转换和word2向word1转换是等效的&#xff0c;则我们假定统一为word1向word2转换&#xff01;&#xff01;&#xff01; 1.确定状态&#xff1a;我们假设现在有下标i&#x…...

linux tree命令找不到:如何使用Linux Tree命令查看文件系统结构

Linux tree命令是一个用于显示文件夹和文件的结构的工具&#xff0c;它可以帮助用户更好地理解文件系统的结构。如果你在linux系统上找不到tree命令&#xff0c;那么可能是因为你的系统中没有安装tree命令。 解决方案 Linux tree命令是一个用于显示文件夹和文件的结构的工具&…...

OJ_最大逆序差

题目 给定一个数组&#xff0c;编写一个算法找出这个数组中最大的逆序差。逆序差就是i<j时&#xff0c;a[j]-a[i]的值 c语言实现 #include <stdio.h> #include <limits.h> // 包含INT_MIN定义 int maxReverseDifference(int arr[], int size) { if (size…...

MyBatis-Plus 实体类里写正则让字段phone限制为手机格式

/* Copyright © 2021User:啾啾修车File:ToupiaoRecord.javaDate:2021/01/12 19:29:12 */ package com.jjsos.repair.toupiao.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomido…...

K8S之运用污点、容忍度设置Pod的调度约束

污点、容忍度 污点容忍度 taints 是键值数据&#xff0c;用在节点上&#xff0c;定义污点&#xff1b; tolerations 是键值数据&#xff0c;用在pod上&#xff0c;定义容忍度&#xff0c;能容忍哪些污点。 污点 污点是定义在k8s集群的节点上的键值属性数据&#xff0c;可以决…...

Sora爆火,普通人的10个赚钱机会

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…...

【C++】C++入门—初识构造函数 , 析构函数,拷贝构造函数,赋值运算符重载

C入门 六个默认成员函数1 构造函数语法特性 2 析构函数语法特性 3 拷贝构造函数特性 4 赋值运算符重载运算符重载赋值运算符重载特例&#xff1a;前置 与 后置前置&#xff1a;返回1之后的结果后置&#xff1a; Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&…...

沁恒CH32V30X学习笔记04--外部中断

外部中断 CH32V2x 和 CH32V3x 系列内置可编程快速中断控制器(PFIC– Programmable Fast Interrupt Controller),最多支持 255 个中断向量。当前系统管理了 88 个外设中断通道和 8 个内核中断通道 PFIC 控制器 88个外设中断,每个中断请求都有独立的触发和屏蔽控制位,有专…...

基础IO[三]

close关闭之后文件内部没有数据&#xff0c; stdout和stderr 他们一起重定向&#xff0c;只会重定向号文件描述符&#xff0c;因为一号和二号描述符虽然都是sydout&#xff0c;但是并不一样&#xff0c;而是相当于一个显示器被打开了2次。 分别重定向到2个文件的写法和直接写道…...

Leetcode 392 判断子序列

题意理解&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是"abcde&quo…...

基于微信小程序的校园跑腿系统的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…...

VTK Python PyQt 监听键盘 控制 Actor 移动 变色

KeyPressInteractorStyle 在vtk 中有时我们需要监听 键盘或鼠标做一些事&#xff1b; 1. 创建 Actor&#xff1b; Sphere vtk.vtkSphereSource() Sphere.SetRadius(10)mapper vtk.vtkPolyDataMapper() mapper.SetInputConnection(Sphere.GetOutputPort()) actor vtk.vtkAc…...

力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并

前言 整体评价 T4的dp解法没想到&#xff0c;走了一条"不归路", 这个区间合并解很特殊&#xff0c;它是带状态的&#xff0c;而且最终的正解也是基于WA的case&#xff0c;慢慢理清的。 真心不容易&#xff0c;太难了。 T1. 相同分数的最大操作数目 I 思路: 模拟 c…...

2024年华为OD机试真题-生成哈夫曼树-Java-OD统一考试(C卷)

题目描述: 给定长度为n的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。 为了保证输出的二叉树中序遍历结果统一,增加以下限制:二叉树节点中,左节点权…...

【实战】二、Jest难点进阶(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(六)

文章目录 一、Jest 前端自动化测试框架基础入门二、Jest难点进阶2.mock 深入学习 学习内容来源&#xff1a;Jest入门到TDD/BDD双实战_前端要学的测试课 相对原教程&#xff0c;我在学习开始时&#xff08;2023.08&#xff09;采用的是当前最新版本&#xff1a; 项版本babel/co…...

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统,JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤: 对于Linux系统: 下载适合Linux系统的JDK安装包,可以选择32位或64位的版本。 将JDK的安装包放置在服务器下,创建一个新的文件夹来存储JDK,…...

HAL/LL/STD STM32 U8g2库 +I2C SSD1306/sh1106 WouoUI磁贴案例

HAL/LL/STD STM32 U8g2库 I2C SSD1306/sh1106 WouoUI磁贴案例 &#x1f4cd;基于STM32F103C8T6 LL库驱动版本&#xff1a;https://gitee.com/chcsx/platform-test/tree/master/MDK-ARM&#x1f3ac;视频演示&#xff1a; WouoUI移植磁贴案例&#xff0c;新增确认弹窗 &#x1f…...

手机如何改自己的ip地址

在现如今的数码时代&#xff0c;手机已经成为人们生活中不可或缺的一部分。然而&#xff0c;有时候我们可能需要改变手机的IP地址来实现一些特定的需求。本文将向大家介绍如何改变手机的IP地址&#xff0c;帮助大家更好地应对各种网络问题。 更改手机IP地址的原因&#xff1a;…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...