向.Net进发 数据库连接操作
昨天在cnblogs上发文章,真伤心啊!两位仁兄留言“还在ASP啊”,晕,看来我真是落后了!
一直都在考虑选择新的WEB开发语言,可是在JSP/PHP/.Net三者之间来回徘徊了许久,还是不知道该往那个方向走!
无奈之下,基于现实的考虑,看来还是选.NET吧,起码在我所处的这个城市,这个平台可以给我带来工资上的微薄提升!
说开始就开始,先来熟悉数据库的操作,慢慢将ASP的操作用ASP.NET过一遍
操作:连接数据库,读取表中数据
采用的是OLEDB方式读取Access数据库,需要引入System.Data.OleDb
- protected void Page_Load(object sender, EventArgs e)
- {
- OleDbConnection conn = new OleDbConnection();
- conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb");
- conn.Open();
- OleDbCommand cmd = new OleDbCommand("select * from [article]",conn);
- OleDbDataReader dr = null;
- dr = cmd.ExecuteReader();
- while (dr.Read()) {
- Response.Write(dr["art_title"].ToString() + "<br>");
- Response.Write(dr["art_author"].ToString() + "<br>");
- }
- dr.Close();
- conn.Close();
- }
上面的代码只是将代码输出到了客户端,并没有格式化,查看页面源代码,发现信息写在了页面之外。那么怎么正确输出呢?试着做新的尝试。我的要求是在表格里输出文章的标题和作者,首先添加一个Table控件,可以看到VS添加了如下的代码:
- <asp:Table ID="Table1" runat="server" Height="208px" Width="358px">
- </asp:Table>
查了查Table的用法,修改上次的代码如下:
- TableRow tr;
- TableCell tc;
- while (dr.Read()) {
- tr= new TableRow();
- tc = new TableCell();
- tc.Text = dr["art_title"].ToString();
- tr.Controls.Add(tc);
- tc = new TableCell();
- tc.Text = dr["art_author"].ToString();
- tr.Controls.Add(tc);
- Table1.Controls.Add(tr);
- }
读取数据的同时,通过TableRow、TableCell生成表格行和单元格。生成网站,执行一下,数据合理的显示到了表格中。