c# 访问Mysql

下载Connector/Net驱动程序,并安装。

通过MySQLConnection对象来连接数据库,连接MySQL的程序的最前面需要引用MySql.Data.MySqlClient。

using MySql.Data.MySqlClient

创建MySqlConnection对象

MySqlConnection conn=null;

conn=new MySqlConnection("Data Source/Host=主机名或者ip";Initial Catalog/Database=数据库名;User ID=用户名;Password/PWD=用户密码");

Data Source/Host:表示MySQL数据库所在的计算机的主机名或者IP

Initial Catalog/Database:需要连接的数据库

创建MySQLConnection对象后,需要调用Open()函数来执行连接操作

conn.Open();

举个例子:

MySqlConnection conn=null;

conn=new MySqlConnection("Data Source/Host=localhost";Initial Catalog/Database=test;User ID=root;Password/PWD=huang");

conn.Open();//如果conn.Open()执行成功,那么conn的状态就是Open

if(conn.State.ToString=="Open")

{

Console.WriteLine("连接到MySQL数据库,连接成功!");

}

else

{

Console.WriteLine("连接失败!");

}

连接MySQL数据库之后,通过MySQLCommand对象来获取SQL语句,然后通过ExecuteNonQuery()方法对数据库进行插入、更新、和删除操作;通过ExecuteRead()方法查询数据库中的数据,也可以通过ExecuteScalar()方法查询数据;通过MySqlDataReader对象获取SELECT语句的查询结果。除了上述方法操作数据库以外,还可以使用MySqlDataAdapter对象、DataSet对象、DataTable对象来操作数据库

MySqlCommand对象主要用来管理MySqlConnector对象和SQL语句,MySqlCommand创建方法

//其中SQL语句可以是INSERT,UPDATE,DELETE,SELECT,conn为MySqlConnector对象

MySqlCommand com=new MySqlCommand ("SQL语句",conn);

//也可以通过以下方式创建MySqlCommand,这种方式可以按照需要为MySqlCommand对象添加不同的SQL语句。

MySqlCommand com=new MySqlCommand ();

com.Connection=conn;

com.CommandText="SQL语句";

插入,更新,删除数据,如果需要对数据库执行插入,更新和删除等操作,那么需要MySqlCommand对象调用ExecuteNonQuery()方法来实现。ExecuteNonQuery()方法返回一个整形的数字。下面是调用ExecuteNonQuery()方法的代码。

int i=com.ExecuteNonQuery();//com是MySqlCommand对象,com通过ExecuteNonQuery()方法执行com中的INSERT语句,UPDATE语句或者DELETE
                                               //语句,ExecuteNonQuery()执行完成后返回影响表的行数

举个例子:

MysqlCommand com=new MySqlCommand();

com.Connection=conn;

//com对象通过CommandText获取INSERT语句

com.CommandText="INSERT INTO score  VALUES(21,902,‘英语‘,85),(22,903,‘英语‘,90)";

int i=ExecuteNonQuery();

if(i>0)

{

Console.WriteLine("插入的记录数为:"+i);//返回值是所有SQL语句影响表的行数的总和。

}

还可以给com.CommandText传多条SQL语句,多条SQL语句都写在一个""内,并且用;隔开。举例,执行一条UPDATE,再执行一条DELETE

MysqlCommand com=new MySqlCommand();

com.Connection=conn;

//com对象通过CommandText获取INSERT语句

com.CommandText="UPDATE score SET grade=95 WHERE id=5;DELETE FROM score WHERE id=6";

int i=ExecuteNonQuery();

if(i>0)

{

Console.WriteLine("更新和删除的总记录数为:"+i);//返回值是所有SQL语句影响表的行数的总和,结果为2。

}

使用SELECT语句查询数据

ExecuteNonQuery()不能查询数据,如果要执行SELECT语句,则需要MySqlCommand对象调用ExecuteReader()方法来实现,ExecuteReader()方法返回一个MySqlDataReader对象,调用ExecuteReader()方法代码如下:

MySqlDataReader dr;

dr=com.ExecuteReader();//ExecuteReader()方法查询出来的记录都存储在dr中,通过dr调用Read()方法读取数据。如果读取到记录,Read()函数返回true。如果没有读
                                        //取到记录,Read()函数返回false。读取到记录后通过dr["columnName"]或者dr[n]来去读相应字段的数据

下面通过ExecuteReader()方法执行一个SELECT语句,代码如下

MySqlCommand com=null;

MySqlReader dr=null;

com=new MysqlCommand("SELECT * FROM score",conn);

dr=com.ExecuteReader();

while(dr.Read())

{

Console.WriteLine(dr["id"]+"   "+dr["stu_id"]+"   "+dr["c_name"]+"   "+dr["grade"]);

}

注:com调用ExecuteReader()方法来执行SELECT语句,执行结果返回给dr。dr调用Read()函数读取数据,如果Read()返回值为true,执行while循环。在while循环中去读每条记录的值。所有记录去读完毕后或者读取遇到错误,Read()返回false,循环结束。

一次执行多个SELECT语句

一次执行多个SELECT语句时,ExecuteReader()方法会将所有的SELECT语句的执行结果都返回给MySqlDataReader对象。但是MySqlDataReader对象一次只能够读取一个SELECT语句的查询结果。如果需要去读下一个SELECT语句的执行结果,MySqlDataReader对象需要调用NextResult()方法。NextResult()方法获取到下一个SELECT语句的查询结果时,该方法返回true。然后MySqlDataReader对象可以通过Read()函数来读取数据,如果NextResult()方法返回值为false,那么说明结果全部都读取出来了。

实例代码:

MySqlCommand com=null;

MySqlReader dr=null;

//将com实例化,并将两个SELECT语句传递给com

com=new MysqlCommand("SELECT * FROM score;SELECT * FROM Student",conn);

dr=com.ExecuteReader();

while(dr.Read())

{

Console.WriteLine(dr["id"]+"   "+dr["stu_id"]+"   "+dr["c_name"]+"   "+dr["grade"]);

}

if(dr.NextResult())//dr.NextResult()方法最好和while循环一起使用

{

while(dr.Read())

{

Console.WriteLine(dr["id"]+"   "+dr["name"]+"   "+dr["address"]+"   "+dr["department"]);

}

}

时间: 2024-10-05 23:24:12

c# 访问Mysql的相关文章

fedora python访问mysql

1 下载驱动库 http://sourceforge.net/projects/mysql-python/ 2, yum install mysql-dev* yum install python-dev* 3, python setup.py install fedora python访问mysql,布布扣,bubuko.com

在nginx中使用lua直接访问mysql和memcaced达到数据接口的统一

安装nginx参见<nginx+lua+redis构建高并发应用> 让nginx 中的nginx_lua_module支持mysql 和memcache 下载 https://github.com/agentzh/lua-resty-memcached https://github.com/agentzh/lua-resty-mysql 对于访问接口的统一有很多的处理方式,这里介绍使用nginx lua 访问mysql并用memcache缓存起来. 配置如下: ... location /ge

关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","","0710_test"); //写SQL语句$sql = "select * from student";//检测连接数据库是否成功,失败返回"连接失败",并退出程序 if(mysqli_connect_error()){    die("连

pythoin访问mysql

1,下载mysql-connector-python-2.0.4  pythoin访问mysql需要有客户,这个就是连接mysql的库 解压后如下图: 双击lib 以windows为例 把mysql复制到Lib\site-packages  linux下可以找到site-packages 完成上面2步,就可正常连接数据库了 2,连接数据库代码 config = { 'user': 'python', 'password': '123456', 'host': 'localhost', 'port

利用Python访问Mysql数据库

首先要明确一点,我们在Python中需要通过第三方库才能访问Mysql. 有这样几种方式:Mysql-python(即MySQLdb).pymysql.mysql-connector.Mysql-python是用C写的,速度最快,而后两者是用纯python写的,相对来说速度慢一点.可惜的是Mysql-python只支持到python 2.7,对python 3.X都没有支持.如果你用的是python3,就用不了Mysql-python了.本文章使用的是python 3.4,用的第三方库是pymy

php访问mysql 封装

<?php/*MYSQL 数据库访问封装类MYSQL 数据访问方式,php4支持以mysql_开头的过程访问方式,php5开始支持以mysqli_开头的过程和mysqli面向对象访问方式,本封装类以mysql_封装 数据访问的一般流程:1,连接数据库 mysql_connect or mysql_pconnect2,选择数据库 mysql_select_db3,执行SQL查询 mysql_query4,处理返回的数据 mysql_fetch_array mysql_num_rows mysql_

[JavaWeb基础] 003.JAVA访问Mysql数据库

上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱动包mysql-connector-java.jar,自行去网上下载,有很多. 下面我跟着代码看看怎么进行增删改查 1.打开数据库 // 驱动程序名 private String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名scutc

Python访问MySQL数据库

#encoding: utf-8 import mysql.connector __author__ = 'Administrator' config={'host':'127.0.0.1',#默认127.0.0.1 'user':'root', 'password':'root', 'port':3306 ,#默认即为3306 'database':'test', 'charset':'utf8'#默认即为utf8 } if __name__=="__main__": print(c

mysql的安装、C++访问mysql数据库、编码设置问题

一.mysql的安装,这个相对简单,直接去官网下载mysql安装程序,就可以完成安装过程,网上有很多安装教程,这个没什么注意事项. 二.C++访问mysql,主要是用到mysql定义的头文件,内部定义了各种数据结构和函数,比如MYSQL,MYSQL_RES,MYSQL_ROW,mysql_real_connect等等一系列的结构和函数.这里要注意的就是将头文件及lib文件以及dll文件配置到当前开发环境来进行访问mysql数据库. 以最新的vs2013作为示例说一下配置过程.为了写的清晰点,在网

PHP访问MySQL数据库

第9章 PHP访问MySQL数据库 1.  PHP访问MySQL数据库服务器的流程 之前学习mysql的时候,采用的是"客户机/服务器"的体系结构 mysql>select * from a;    -------->MySQL数据库服务器 < --------- PHP访问MySQL数据库的时候,我们的PHP则充当了客户机的角色 PHP充当了客户机的角色----------->MySQL数据库服务器 <----------- 接下来我们可以通过phpin