碰到很多错误,都一一解决,没有错误的截图,按照我的步骤,您将完成一个最基本的asp的环境配置到增删改查

本节总结

1,开启iis
2,建立“网站”,类似于phpstudy
3,odbc连接数据库,不然直接连接mysql数据库报错
4,在网站下建立文件直接访问即可,index.asp,conn.asp

需要安装的

mysql驱动(连接mysql):https://dev.mysql.com/downloads/connector/odbc/
vs2019(不安装你就没法安装mysql驱动):https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Enterprise&rel=16

步骤

1,开启iis

2,建立个”网站”,建议不要在c盘

3,odbc连接数据库,不连接而直接从asp文件中连接的话会报错

图解如何以ODBC方式连接mysql数据库
需要注意的是,有的人选项中没有mysql数据源驱动,所以需要下载,才会出现,然后安装,然后有想吐槽的一点,想要安装mysql还得下载vs,一直没有解决,就像是
烦死了,所以你还得下载vs,找了半天,这是唯一的解决办法,连接之后就可以进行操作了

 <%@Language="vbscript" Codepage="65001"   %> 	<!-- 中文显示 -->
<!-- 连接数据库 -->
<%
dim conn
set conn = server.CreateObject("ADODB.connection")
conn.open "driver={MySQL ODBC 8.0 ANSI Driver};server=127.0.0.1; uid=root;pwd=weicunbin123;database=lendbook"
' response.write conn.state '是否连接成功 
%>
<!-- 增加--修改--删除 -- 相当于接口-->
<%
dim action,id,title,sql
action = request.queryString("action")
id = request.queryString("id")
title = request.queryString("title")
if action = "update" then
'改 on error resume next 'Err对象保存了“错误信息”
sql = "update a_book_info set title = '"&title&"' where info_id = "&id&""
set res =  conn.execute(sql)
if Err.number = 0 then
' response.Write("<script>alert('数据修改成功');window.history.back()</script>") call successFn("修改") else call errFn("数据修改失败或未修改") end if elseif action="del" then '删
on error resume next 'Err对象保存了“错误信息” sql = "delete from a_book_info where info_id = "&id&"" set res = conn.execute(sql) if Err.number = 0 then call successFn("删除") else call errFn("数据删除失败") end if elseif action="add" then ' 增
on error resume next 'Err对象保存了“错误信息” sql = "insert into a_book_info(`title`) values('"&title&"')" set res = conn.execute(sql) if Err.number = 0 then call successFn("插入") else call errFn("数据插入失败") end if end if ' 函数定义
sub successFn(title)
response.Write("<script>alert('数据"&title&"成功');window.history.back()</script>")
end sub
sub errFn(title)
errMessage = "错误号:"&Err.Number & chr(10) & "错误来源:"&Err.Source & chr(10)&"错误描述:"&Err.Description & chr(10)
response.Write(errMessage)
response.Write("<script>alert('"&title&",页面未跳转');</script>")
end sub
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>asp增删改查</title>
</head>
<body>
<%
'查询数据 Set rs = Server.CreateObject( "ADODB.Recordset" ) sql = "select * from a_book_info order by info_id desc limit 0,5" rs.open sql,conn,1,3 '1,1为只读数据,1,3为插入数据,2,3是修改数据)
%>
<table border="1"  style="border-collapse: collapse;">
<tr>
<td width="10%">id</td>
<td width="40%">title</td>
<td width="10%">操作</td>
</tr>
<%
if (rs.EOF and rs.BOF) then
'1、BOF 和 EOF 属性返回bai布尔型值。 '2BOF 当前指针的位置是在第一行记录之前,则... EOF 当前指针的位置是在最后一行记录之后,则...
'3、那么这句话的意思就是:如果 rs没有结束并且没有开始(表示在文本排列中),则满足条件,即没有这个数据 response.write "no this daata" else ' 遍历数据开始
do while not rs.eof '如果指针不再最后一行 ' 打印到页面上
' 第一种方式 %> <tr> <td><%=rs("info_id")%></td> <td><input style="width: 100%; height: 100%;border: none; outline-color:red;" type="text" name="<%=rs("info_id")%>" value="<%=rs("title")%>"></td> <td><a href="?action=del&id=<%=rs("info_id")%>">删除</a> <a name="btn_<%=rs("info_id")%>" οnclick="update(this)">确认修改</a></td> </tr> <% ' 第二种方式
' response.write "<tr>" ' response.write "<td>"&rs("info_id")&"</td>"
' response.write "<td>"&rs("title")&"</td>" ' response.write "<td> <a href='?action=del&info_id="&rs("info_id")&"'>删除</a> <a href='?action=updata&info_id="&rs("info_id")&"'>确认修改</a> </td>"
' response.write "</tr>" rs.movenext '让指针向下移动一行,不然会报错
loop
' 遍历数据结束 end if %> </table> <br> <br> <br> <div class="add"> <input type="text" name="title" value="这是提交到数据库的内容" /> <button οnclick="add()">提交</button> </div> <script> //修改 function update(me){ //取出所对应的数据 const id = me.name.replace("btn_",'') const title = document.querySelector("input[name='"+id+"']").value window.location.href="?action=update&title="+title+ "&id="+id } //添加 function add(){ if(check()){ //判断条件 window.location.href="?action=add&title="+ document.querySelector("input[name='title']").value
}
}
function check(){ 
return true;
}
</script>
</body>
</html>

本文地址:https://blog.csdn.net/weixin_44797182/article/details/108976422