【ASP】ASP对Access数据库的连接、增删改查及ASP的基本语法

本文讨论的是ASP,而不是Visual Studio写出来的.ASPX也就是ASP.NET。

ASP不需要任何插件的支持,关键你是配置好WINDOWS的IIS服务器,把页面扔在上面执行就可以了。

不同WINDOWS系统的IIS服务器配置,除了某些被阉割的WINXP装机版系统之外,都支持IIS服务器配置,都在WINDOWS的组件中,不需要下载任何东西。如何配置IIS服务器不是本文讨论的重点。


一、基本目标

假设Access2007数据库database.mdb中存在表test如下:

id为自增列,username,password皆为文本

现在要求把这张表在ASP页面中查询出来。并且再下面继续增加一项username=3,password=a的内容。

运行asp网页的时候记得把access关掉,不可以边打开access边运行asp网页。



二、制作过程

asp代码必须写在<%%>之中,

asp声明变量可以用dim a;声明,a不分类型,系统自动识别。dim可以不写,也就是完全可以写出a=什么,

改变a的值必须用set a=..不能直接a=...,此乃对a的初始化。

数据库声明部分conn与rs的值必须用set conn的形式赋予,因为系统已经自动对其初始化。

<head>部分不需要引用任何文件。

整个网页的代码如下,下面一段一段进行说明:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数据库的连接、增删改查</title>
</head>
<body>
<%
db="Database.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db) 
response.write "数据库连接成功!"
Set rs = Server.CreateObject( "ADODB.Recordset" )
sql = "select * from test;"
rs.open sql,conn,1,3
%>
<br/>
表test的内容:
<table border="1">
  <tr>
    <td>id</td>
    <td>username</td>
    <td>password</td>
  </tr>
  <%
if (rs.bof and rs.eof) then
response.write "nodata!"
else
do while not rs.eof
%>
  <tr>
    <td><%=rs("id")%></td>
    <td><%=rs("username")%></td>
    <td><%=rs("password")%></td>
  </tr>
  <%
rs.movenext
loop
end if
%>
</table>
<%
'conn.execute "update test set username='2' where username='a';"
conn.execute "insert into test(username,password) values ('3','a');"
%>
---------插入数据之后--------<br/>
表test的内容:<br/>
<%
Set rs = Server.CreateObject( "ADODB.Recordset" )
sql = "select * from test;"
rs.open sql,conn,1,3
%>
<table border="1">
  <tr>
    <td>id</td>
    <td>username</td>
    <td>password</td>
  </tr>
  <%
if (rs.bof and rs.eof) then
response.write "nodata!"
else
do while not rs.eof
%>
  <tr>
    <td><%=rs("id")%></td>
    <td><%=rs("username")%></td>
    <td><%=rs("password")%></td>
  </tr>
  <%
rs.movenext
loop
end if
%>
</table>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</body>
</html>

这段代码是用记事本敲出来的,没有用任何开发工具,所有缺乏缩进等基本代码格式见谅,ASP实在缺乏代码开发工具。

ASPEDIT都是一些1997年就出版的东西了。

1、<head>部分

<head>
<!--必须声明使用utf-8编码,否则在IE8中页面显示会乱码-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数据库的连接、增删改查</title>
</head>

以下就是<body>部分了

2、连接数据库部分

<%
'asp同使用'去注释,不允许使用;来结束语句,每一个enter键就是代表一条语句结束
'Access数据库文件是database.mdb
db="Database.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
'指定动作,pwd后的值代表此数据库的密码
conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)
'在网页上输出东西,可以用response对象 
response.write "数据库连接成功!"
%>
3、查询部分

<%
'指定动作
Set rs = Server.CreateObject( "ADODB.Recordset" )
'查询语句
sql = "select * from test;"
'使用sql对conn进行查询,后面的参数代表我要完全操作这个数据库
rs.open sql,conn,1,3
%>
<!--此乃表头,asp代码可以与html代码混合,table默认是没有边框的,所以要设置一个border参数-->
<br/>
表test的内容:
<table border="1">
  <tr>
    <td>id</td>
    <td>username</td>
    <td>password</td>
  </tr>
<%
'如果没有查到任何东西这样写,ASP没有括号,条件体必须用end if结束,then相当于左括号,end if相当于右括号
if (rs.bof and rs.eof) then
response.write "nodata!"
else
'否则就循环,直到读完这条游标,循环条件是not rs.eof,ASP没有括号,do while循环体必须用loop结束,do while后自带左括号,loop相当于右括号
'下面的html循环一次就向网页写入一次
do while not rs.eof
%>
  <tr>
    <td><%=rs("id")%></td>
    <td><%=rs("username")%></td>
    <td><%=rs("password")%></td>
  </tr>
  <%
  '读完一项,游标向下拉
rs.movenext
loop
end if
%>
</table>
4、增加、删除、修改操作部分

这里没有写出删除操作,修改操作则被注释掉了,但他们的用法与增加操作完全一样,

<%
'与查询操作不同的是,插入操作很简短。
'修改操作可以用下面的语句,把test表的username字段(列)中为a的项都改为2
'conn.execute "update test set username='2' where username='a';"
conn.execute "insert into test(username,password) values ('3','a');"
%>
插入之后再次查询的道理与上面的未插入之前是一样道理的,就不再进行说明了。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,您需要安装Oracle 数据库的驱动程序。您可以从Oracle官网下载适用于您的操作系统的驱动程序,然后将其安装在计算机上。 然后,您需要在ASP.NET MVC项目中添加对Oracle数据库的引用。您可以使用NuGet包管理器来安装Oracle.DataAccess NuGet包。 接下来,您需要在Web.config文件中添加连接字符串。以下是一个示例连接字符串: ```xml <connectionStrings> <add name="OracleConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));User ID=yourusername;Password=yourpassword;" providerName="Oracle.DataAccess.Client" /> </connectionStrings> ``` 在上面的连接字符串中,您需要将 `yourusername` 和 `yourpassword` 替换为您的Oracle数据库用户名和密码。 现在,您可以在控制器中编写代码来查询数据库并将结果显示在视图中。以下是一个示例控制器: ```csharp public class HomeController : Controller { public ActionResult Index() { string connectionString = ConfigurationManager.ConnectionStrings["OracleConnectionString"].ConnectionString; OracleConnection connection = new OracleConnection(connectionString); connection.Open(); OracleCommand command = new OracleCommand("SELECT * FROM mytable", connection); OracleDataReader reader = command.ExecuteReader(); List<MyModel> myModels = new List<MyModel>(); while (reader.Read()) { MyModel myModel = new MyModel(); myModel.Id = reader.GetInt32(0); myModel.Name = reader.GetString(1); myModels.Add(myModel); } connection.Close(); return View(myModels); } } ``` 在上面的示例中,我们使用OracleConnection对象打开连接,并创建一个OracleCommand对象来执行查询。然后,我们使用OracleDataReader对象读取查询结果,并将其存储在MyModel对象的List中。最后,我们将这个List传递给视图。 在视图中,您可以使用Razor语法来循环遍历MyModel对象的列表,并将其显示在网页上。以下是一个示例视图: ```html @model List<MyModel> <table> <tr> <th>Id</th> <th>Name</th> </tr> @foreach (var item in Model) { <tr> <td>@item.Id</td> <td>@item.Name</td> </tr> } </table> ``` 在上面的视图中,我们使用Razor语法循环遍历MyModel对象的列表,并将其显示在一个HTML表格中。 希望这可以帮助您开始使用ASP.NET MVC连接Oracle数据库,并将查询结果显示在网页上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值