C#连接MySQL的两个简单代码示例

实现代码一、使用的是mysql自带的驱动安装一下即可

这是一个简单的例子。
在这里有个问题:dataset如果没设主键的话,可能会引起一些对数库操作的问题,比如会造成updata出现错误。

static void Main(string[] args)
    {
      string sqlstr = "select * from manavatar";
      MySQLConnection DBConn = new MySQLConnection(new MySQLConnectionString("192.168.0.13", "flashdata", "root", "root", 3306).AsString);
      DBConn.Open();
      //MySQLDataAdapter myadap = new MySQLDataAdapter(sqlstr, conn);
      MySQLCommand DBComm = new MySQLCommand(sqlstr,DBConn);
      MySQLDataReader DBReader = DBComm.ExecuteReaderEx(); //DBComm.ExecuteReaderEx();
      MySQLDataAdapter DTAdapter = new MySQLDataAdapter(sqlstr,DBConn);

      DataSet myDataSet = new DataSet();
      DTAdapter.Fill(myDataSet,"manavatar");

      try
      {
        while (DBReader.Read())
        {
          //Console.WriteLine("11");
          Console.WriteLine("DBReader:{0},\t\t\tddddd:{1},\t\t {2}",DBReader.GetString(0), DBReader.GetString(1),DBReader.GetString(3));
        }
        Console.WriteLine("0000");
      }
      catch (Exception e)
      {
        Console.WriteLine("读入失败!"+e.ToString());
      }
      finally
      {
        Console.WriteLine("DBReader关闭");
        Console.WriteLine("DBConn关闭");
        DBReader.Close();
        //DBConn.Close();
      }

      for (int i = 0; i < myDataSet.Tables["manavatar"].Rows.Count; i++)
      {
        Console.WriteLine("{0}",myDataSet.Tables["manavatar"].Rows[2]["user"]);
      }

    }

方法二、

贴一份示例代码。非常适合于初学者使用。
C#访问mysql

using System;
using System.Collections.Generic;
using System.Text; 

using MySql.Data.MySqlClient;
using System.Data;
using System.Data.Common; 

namespace SybaseUtilTest
{
  class Program
  {
    // http://bugs.mysql.com/47422, 有兴趣的朋友,可以看看这个bug是怎么回事
    static void testDataAdapter()
    {
      try
      {
        MySqlClientFactory factory = MySqlClientFactory.Instance;
        DbConnection conn = factory.CreateConnection();
        conn.ConnectionString = string.Format("server={0};user id={1}; password={2}; database={3}; port={4}; pooling=false",
              "localhost", "root", "passwd", "test", 3306);
        conn.Open(); 

        DbDataAdapter da = factory.CreateDataAdapter(); 

        da.SelectCommand = conn.CreateCommand();
        da.SelectCommand.CommandText = "select * from t12345"; 

        da.DeleteCommand = conn.CreateCommand();
        da.DeleteCommand.CommandText = "delete from t12345 where id = @id"; 

        DbParameter param = factory.CreateParameter();
        param.ParameterName = "@id";
        param.DbType = DbType.Int32;
        param.SourceColumn = "id";
        param.SourceVersion = DataRowVersion.Current; 

        da.DeleteCommand.Parameters.Add(param);
        da.DeleteCommand.UpdatedRowSource = UpdateRowSource.None; 

        DataTable dt = new DataTable("t12345");
        da.Fill(dt); 

        int index = 0;
        foreach ( DataRow o in dt.Rows )
        {
          if (o["id"].Equals(4))
          {
            Console.WriteLine(String.Format("index={0}, to delete id = 4, col2 = {1}" , index, o["col2"]));
            break;
          }
          index++;
        }
        dt.Rows[index].Delete();
        da.Update(dt);
        dt.AcceptChanges(); 

        da.Dispose();
        conn.Close();
      }
      catch (Exception ex)
      {
        Console.WriteLine(ex.Source + " "
          + ex.Message + " "
          + ex.StackTrace);
      } 

    } 

    static void Main(string[] args)
    {
      testDataAdapter();
    }
  }
} 

以上就是我们小编为大家整理的c#连接mysql数据库的方法,需要的朋友可以参考一下。

(0)

相关推荐

  • C#连接MySQL的两个简单代码示例

    实现代码一.使用的是mysql自带的驱动安装一下即可 这是一个简单的例子. 在这里有个问题:dataset如果没设主键的话,可能会引起一些对数库操作的问题,比如会造成updata出现错误. static void Main(string[] args) { string sqlstr = "select * from manavatar"; MySQLConnection DBConn = new MySQLConnection(new MySQLConnectionString(&q

  • php连接MySQL的两种方式对比

    记录一下PHP连接MySQL的两种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ USE `test`; /*创建表*/ CREATE TABLE IF NOT EXISTS `user` ( name varchar(50), age int ); /*插入测试数据*/ INSERT INTO `user` (name, age) VALUES('harry', 20), ('

  • Python连接Mysql进行增删改查的示例代码

    Python连接Mysql 1.安装对应的库 使用Python连接Mysql数据库需要安装相应的库 以管理员身份运行cmd,输入命令 pip install mysql.connector 安装完成后建立 test.py 写入 import mysql.connector 保存后运行 python test.py 用以测试模块库是否安装完成,如果不报错,说明安装完成 2.进行连接测试 编写connectTest.py文件 文件内容: import mysql.connector connect

  • 利用numpy实现一、二维数组的拼接简单代码示例

    一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组 a = np.array([[1,2,3]]); b = np.array([[1],[2],[3]]); print a.shape//(1,3) print b.shape//(3,1) 注意(3,)和(3,1)的数组是不一样的,前者是一维数组,后者是二维数组. 拼接 3.numpy有很多的拼接函数.比如hstack

  • 快速了解Python开发中的cookie及简单代码示例

    cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接.服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie. 存放位置: 每次发请求cookie是放在请求头里面的. 应用场景: ·登陆用户和密码的记住密码 ·显示每页显示的数据,以后都是按照设定的数目显示 ·投票机制 案例用户登录 创建用户登录的url url(r'^login/', views.login), 创建登录页面 代码为: <!DOCTYPE html> <html l

  • Python中join函数简单代码示例

    本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a

  • Java编程异常简单代码示例

    练习1 写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形.如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c "不能构成三角形":如果可以构成则显示三角形三个边长.在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常. 两边之和大于第三边:a+b>c 两边之差小于第三边:c-a package 异常; import java.util.Arrays; import java

  • Python实现读取txt文件并画三维图简单代码示例

    记忆力差的孩子得勤做笔记! 刚接触python,最近又需要画一个三维图,然后就找了一大堆资料,看的人头昏脑胀的,今天终于解决了!好了,废话不多说,直接上代码! #由三个一维坐标画三维散点 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D x = [] y = [] z = [] f = open("data\\record.

  • python matplotlib 注释文本箭头简单代码示例

    注释文本箭头 结果展示: 完整代码示例: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(5, 5)) ax.set_aspect(1) x1 = -1 + np.random.randn(100) y1 = -1 + np.random.randn(100) x2 = 1. + np.random.randn(100) y2 = 1. + np.random.randn(100

  • Java中闭包简单代码示例

    一.闭包的定义. 有很多不同的人都对闭包过进行了定义,这里收集了一些. # 是引用了自由变量的函数.这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量. -- <<wikipedia>> # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域.-- <<Java编程思想>> # 是一个匿名的代码块,可以接受参数,并返回一个返回值,也可以引用和使用在它周围的,可见域中定义的变量.-- Groovy ['ɡru:vi] # 是一个表

随机推荐