关闭

.NET学习(二)操作数据库

240人阅读 评论(0) 收藏 举报
分类:

本节实现从mysql数据库中的form数据库中查询login表,并显示在web UI上。
vs2013连接mysql的过程见上一节:
http://blog.csdn.net/qq_16912257/article/details/49951865

过程分为以下几步:
1.用connection string(连接配置字符串)作为参数创建一个连接对象。

MySqlConnection connection = new
MySqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings[“Con”]
.ConnectionString.ToString());

2.打开连接。

connection.Open();

3.用刚刚创建的connection对象sql命令作为参数创建一个sqlcommand对象。
(注意,MySqlCommand的构造函数有好几种,并不限于以下这种)

MySqlCommand command = new MySqlCommand(“SELECT * FROM login”, connection);

4.如果你的sql命令有返回值(比如select语句),执行sql命令后将返回值赋给一个DataReader对象(我们需要的数据都可以通过操作DataReader对象读出来)。

MySqlDataReader dataReader = command.ExecuteReader();

5.通过DataReader对象读取数据。
(怎么读取看需求。示例见下)
6.关闭DataReader对象。
(注意:读完就关闭,否则DataReader会独占Connection对象,导致其它对象无法使用Connection对象)

dataReader.Close();

7.关闭连接对象。

connection.Close();

完整示例:
c#代码示例如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data;
using MySql.Data.MySqlClient;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        MySqlConnection connection = new MySqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Con"]
            .ConnectionString.ToString());
        try
        {
            connection.Open();
            MySqlCommand command = new MySqlCommand("SELECT * FROM login", connection);
            MySqlDataReader dataReader = command.ExecuteReader();
            Response.Write("<h3>DataReader对象读取数据</h3>");
            Response.Write("<table border=1 cellspacing=0 cellpadding=2>");
            Response.Write("<tr bgcolor=ccffff>");
            for (int i = 0; i < dataReader.FieldCount; i++)
            {
                Response.Write("<td>" + dataReader.GetName(i) + "</td>");
            }
            Response.Write("</tr>");
            while (dataReader.Read())
            {
                Response.Write("<tr>");
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    Response.Write("<td>" + dataReader[i].ToString() + "</td>");
                }
                Response.Write("</tr>");
            }
            Response.Write("</table>");
            dataReader.Close();
        }
        catch(Exception err)
        {

        }
        finally
        {
            connection.Close();
        }

    }
}

结果:
结果

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:133114次
    • 积分:4044
    • 等级:
    • 排名:第8206名
    • 原创:272篇
    • 转载:39篇
    • 译文:0篇
    • 评论:8条
    最新评论