应用ASP.Net在web中查询数据库
来源:互联网 发布:mac下载软件推荐 编辑:程序博客网 时间:2024/05/17 06:06
将数据库中的数据查询出来,并打印在html页面上
- 首先创建一个website,在web.config文件中写上连接字符串<connectionStrings>
<add name="constr" connectionString="Data Source=Graph;Initial Catalog=化学类一班;Integrated Security=True;"/></connectionStrings> -----身份验证方式用的是windows身份验证,name属性是不可或缺的 - 新建一个html页面和一个一般处理程序,由于本次是将数据库中的数据一行一行打印在html上,肯定要用到循环,可以在html页面上写一个$tbody当做占位符
- 在一般处理程序中,首先要拿到web.config里面的连接字符串并建立数据库连接string constring = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString;using(SqlConnection conn=new SqlConnection(constring)){} //用using可以自动释放不在需要的对象的内存
- 然后建立SqlDataAdapter对象using (SqlDataAdapter adapter=new SqlDataAdapter ("select *from 学生登记表",conn)){} 因为SqlDataAdapter存在重载,可以将SQL语句当做参数写进去。
- 建立DataTable对象,DataTable的对象是一个虚拟表格,将从数据库中拿到的数据放在DataTable对象中DataTable da = new DataTable();
- 建立StringBuilder对象,他有一个AppendFormat方法可以比较方便在<td></td>中插入数据StringBuilder sb = new StringBuilder();
- 循环遍历 for (int i = 0; i < da.Rows.Count; i++) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", da.Rows[i]["autoId"], da.Rows[i]["学号"], da.Rows[i]["姓名"]);}将对象da里面的每一行数据的分别拿到,用da.Rows[i]["列名"]可以拿到,然后放在td标签里面
- 最后要建立一般处理程序和html页面的连接string filePath = context.Request.MapPath("index.html");
string fileContent = File.ReadAllText(filePath);
fileContent= fileContent.Replace("$tbody", sb.ToString());//替换html页面中的$tbody占位符
context.Response.Write(fileContent);//打印 - 下面是源码:一班处理程序 indexList.ashx
<%@ WebHandler Language="C#" Class="indexList" %>using System;using System.Web;using System.IO;using System.Data;using System.Data.SqlClient;using System.Text;public class indexList : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/html"; //context.Response.Write("Hello World"); string constring = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection conn=new SqlConnection(constring)) { using (SqlDataAdapter adapter=new SqlDataAdapter ("select *from 学生登记表",conn)) { DataTable da = new DataTable(); adapter.Fill(da); StringBuilder sb = new StringBuilder(); for (int i = 0; i < da.Rows.Count; i++) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", da.Rows[i]["autoId"], da.Rows[i]["学号"], da.Rows[i]["姓名"]); } string filePath = context.Request.MapPath("index.html"); string fileContent = File.ReadAllText(filePath);//这是一般处理程序对html页面的读取 fileContent= fileContent.Replace("$tbody", sb.ToString()); context.Response.Write(fileContent); } } } public bool IsReusable { get { return false; } }}
- web.config
<?xml version="1.0" encoding="utf-8"?><!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --><configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web> <connectionStrings> <add name="constr" connectionString="Data Source=Graph;Initial Catalog=化学类一班;Integrated Security=True;"/> </connectionStrings></configuration>
- index.html
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title></head><body><a href="#">111000</a> <table> <tr> <th>序号</th><th>学号</th><th>姓名</th> </tr> $tbody </table></body></html>
0 0
- 应用ASP.Net在web中查询数据库
- ASP.NET中数据库应用-身份证信息查询器
- 在ASP.NET WEB控件中应用样式(Style)
- 在ASP.NET WEB控件中应用样式(Style)
- 在ASP.NET 4中如何自动启动Web应用?
- 在ASP.NET WEB控件中应用样式(Style)[转]
- 如何在ASP.NET中生成HTML5离线Web应用
- 如何在ASP.NET中生成HTML5离线Web应用
- 在asp.net web 程序中使用Sqlite数据库
- Asp.net—查询数据库中记录
- Asp.Net中应用Web Service示例
- XPath在asp.net中查询XML
- asp.net数据库查询
- Asp.net查询数据库
- ASP.NET查询数据库
- ASP.NET查询ACCESS数据库的内容并在DATAVIEW中显示出来
- ASP.NET查询ACCESS数据库的内容并在DATAVIEW中显示出来
- 在ASP.NET中应用TreeView控件
- R语言列表循环添加元素
- String、StringBuffer、StringBuilder的区别
- Mac OSX安装启动 zookeeper
- 初识Spring security-无Security的SpringMVC
- PAT-B 1005. 继续(3n+1)猜想 (25)
- 应用ASP.Net在web中查询数据库
- eclipse启动时问题
- 虚拟机下CentOS 6.5配置IP地址的三种方法
- 自定义简单ProgressBar样式
- java web笔记----html复习
- 如何使用sha1方法
- HTML5 URL类型
- 并查集算法回顾
- Python 第一个例子