• 新建ConnectionTestInfo类 using System.Data.SqlClient; using System.Data; public class ConnectionTestInfo ... private static SqlConnection mySqlConnection; //mySqlConnection is a S...
    新建ConnectionTestInfo类
    using System.Data.SqlClient;
    using System.Data;

    public class ConnectionTestInfo
        {
            private static SqlConnection mySqlConnection;  //mySqlConnection   is   a   SqlConnection   object
            private static string ConnectionString = "";
            private static bool IsCanConnectioned = false;

            /// <summary>
            /// 测试连接数据库是否成功
            /// </summary>
            /// <returns></returns>
            public static bool ConnectionTest()
            {
                //获取数据库连接字符串
                ConnectionString = ConnectionInfo.ConnectionString();
                //创建连接对象
                mySqlConnection = new SqlConnection(ConnectionString);
                //ConnectionTimeout 在.net 1.x 可以设置 在.net 2.0后是只读属性,则需要在连接字符串设置
                //如:server=.;uid=sa;pwd=;database=PMIS;Integrated Security=SSPI; Connection Timeout=30
                //mySqlConnection.ConnectionTimeout = 1;//设置连接超时的时间
                try
                {
                    //Open DataBase
                    //打开数据库
                    mySqlConnection.Open();
                    IsCanConnectioned = true;
                }
                catch
                {
                    //Can not Open DataBase
                    //打开不成功 则连接不成功
                    IsCanConnectioned = false;
                }
                finally
                {
                    //Close DataBase
                    //关闭数据库连接
                    mySqlConnection.Close();
                }
                //mySqlConnection   is   a   SqlConnection   object
                if (mySqlConnection.State == ConnectionState.Closed || mySqlConnection.State == ConnectionState.Broken)
                {
                    //Connection   is   not   available 
                    return IsCanConnectioned;
                }
                else
                {
                    //Connection   is   available 
                    return IsCanConnectioned;
                }
            }
        }

    其中数据库字符串调用了类ConnectionInfo的方法ConnectionString
    public class ConnectionInfo
        {
            public ConnectionInfo() { }

            /// <summary>
            /// 从配置文件中读取数据库联接字符串
            /// </summary>
            /// <returns></returns>
            public static string ConnectionString()
            {
                return (ConfigurationSettings.AppSettings["ConnectionString"]);
            }
        }

    展开全文
  • 测试c#连接mysql源代码

    2020-05-17 10:40:47
    测试c#连接mysql源代码,里面含有用到的dll文件。
  • 测试c#操作mysql

    2012-10-25 12:47:00
    原始数据:   测试代码:   运行结果:   源代码下载:http://download.csdn.net/detail/pukuimin1226/4685411 ... c#操作各种数据库,主要是连接相关的类不同,操作的方法的步骤是一模一样的。

     

    原始数据:

     

    测试代码:

     

    运行结果:

     

    源代码下载:http://download.csdn.net/detail/pukuimin1226/4685411

     

    总结:

             c#操作各种数据库,主要是连接相关的类不同,操作的方法的步骤是一模一样的。

    展开全文
  • C#项目连接MySQL数据库

    2019-03-27 17:37:33
    C#项目连接MySQL数据库 这里我是将方法全部都放在一个新建的MySQL类中了。也可以单独实现方法。 这里只提供了简单的增删改查。 这里是用C#的控制台应用程序做示范。也可以在Web Form或者Win Form等C#项目中通过这个...

    C#项目连接MySQL数据库

    • 这里我是将方法全部都放在一个新建的MySQL类中了。也可以单独实现方法。
    • 这里只提供了简单的增删改查。
    • 这里是用C#的控制台应用程序做示范。也可以在Web Form或者Win Form等C#项目中通过这个方法实现连接并操作MySQL数据库。
    • 在进行操作前,请确保MySQL和Visual Studio已经安装完成,并且MySQL的服务已经打开。
    • 数据库名字和表名:
      image.png

    1.新建C#控制台项目,添加MySQL的引用,新建MySQL类。

    image.png

    image.png


    C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5
    image.png


    image.png

    2.编写MySQL类的代码。

    image.png

    image.png

    image.png

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using MySql.Data.MySqlClient;
    using System.Data;
    
    namespace _001_MySQL的连接
    {
        class MySQL
        {
            string connStr;
            MySqlConnection conn;
            string cmdText;
            MySqlCommand cmd;
    
            public MySQL(string dataBaseName)
            {
                connStr = string.Format(
                    "Database={0};DataSource=127.0.0.1;User=root;Pwd=root;port=3306",
                    dataBaseName
                    );
                conn = new MySqlConnection(connStr);
            }
            /// <summary>
            /// 通过DataAdapter类和DataSet类来实现查询一个表的数据。
            /// 需要输入的形参是:想要查询的表名
            /// </summary>
            /// <param name="tableName"></param>
            public void Select(string tableName)
            {
                conn.Open();
    
                cmdText = string.Format(
                    "SELECT * FROM {0}", tableName
                    );
                cmd = new MySqlCommand(cmdText, conn);
    
                MySqlDataAdapter dad = new MySqlDataAdapter(cmd);
                DataSet dset = new DataSet();
                dad.Fill(dset, tableName);
                for (int i = 0; i < dset.Tables[0].Rows.Count; i++)
                {
                    for (int j = 0; j < dset.Tables[0].Columns.Count; j++)
                    {
                        if (j == dset.Tables[0].Columns.Count - 1)
                            Console.Write(dset.Tables[0].Rows[i][j].ToString());
                        else
                            Console.Write(dset.Tables[0].Rows[i][j].ToString() + ":");
                    }
                    Console.WriteLine();
                }
    
                conn.Close();
            }
            /// <summary>
            /// 通过DataReader类来实现查询一个表的数据。
            /// 需要输入的形参是:想要查询的表名,不固定个数的列名。
            /// </summary>
            /// <param name="tableName"></param>
            /// <param name="columnsName"></param>
            public void Select(string tableName, params string[] columnsName)
            {
                conn.Open();
    
                cmdText = string.Format(
                    "SELECT * FROM {0}", tableName
                    );
                cmd = new MySqlCommand(cmdText, conn);
    
                MySqlDataReader dataReader = cmd.ExecuteReader();
                while (dataReader.Read())
                {
                    Console.WriteLine(
                        dataReader.GetString(columnsName[0])
                        + ":" +
                        dataReader.GetString(columnsName[1])
                        );
                }
                dataReader.Close();
    
                conn.Close();
            }
            /// <summary>
            /// 输入表名、ID列和Name列的名称来插入一条数据。
            /// </summary>
            /// <param name="tableName"></param>
            /// <param name="id"></param>
            /// <param name="name"></param>
            public void Insert(string tableName, int id, string name)
            {
                conn.Open();
    
                cmdText = string.Format(
                    "INSERT INTO {0} VALUES({1},'{2}')",
                    tableName, id, name
                    );
                cmd = new MySqlCommand(cmdText, conn);
                cmd.ExecuteNonQuery();
    
                conn.Close();
    
            }
            /// <summary>
            /// 通过ID来删除表中的一条数据
            /// </summary>
            /// <param name="tableName"></param>
            /// <param name="id"></param>
            public void Delete(string tableName, int id)
            {
                conn.Open();
    
                cmdText = string.Format(
                    "DELETE FROM {0} WHERE ID={1}",
                    tableName, id
                    );
                cmd = new MySqlCommand(cmdText, conn);
                cmd.ExecuteNonQuery();
    
                conn.Close();
            }
            /// <summary>
            /// 通过ID来修改表中的一条数据的Name值
            /// </summary>
            /// <param name="tableName"></param>
            /// <param name="id"></param>
            /// <param name="name"></param>
            public void Update(string tableName, int id, string name)
            {
                conn.Open();
                
                cmdText = string.Format(
                    "UPDATE {0} SET NAME='{1}' WHERE ID={2}",
                    tableName, name, id
                    );
                cmd = new MySqlCommand(cmdText, conn);            
                cmd.ExecuteNonQuery();
    
                conn.Close();
            }
            /// <summary>
            /// @ 和 cmd.Parameters.AddWithValue("string","str");。
            /// 这种方法不能用AddWithValue方法来添加表的名字,会报错,
            /// 只能添加列的属性的值。
            /// 因为通过这种方法来添加表名的时候,
            /// 它会这样添加表名的信息:UPDATE 'TABLENAME' SET ...。
            /// 多了一对单引号,所以会报错。
            /// </summary>
            /// <param name="id"></param>
            /// <param name="name"></param>
            public void UpdateByParameters(int id, string name)
            {
                conn.Open();
    
                cmdText = 
                    "UPDATE TEST_CONNECTION SET NAME=@INPUT_NAME WHERE ID=@INPUT_ID";
                cmd = new MySqlCommand(cmdText, conn);
                //cmd.Parameters.AddWithValue("TABLENAME", tableName);
                cmd.Parameters.AddWithValue("INPUT_NAME", name);
                cmd.Parameters.AddWithValue("INPUT_ID", id);
                cmd.ExecuteNonQuery();
    
                conn.Close();
            }
        }
    }
    
    

    3.编写主函数的测试代码。

    image.png

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace _001_MySQL的连接
    {
        class Program
        {
            static void Main(string[] args)
            {
                MySQL mySql = new MySQL("yyymarshal");
    
                Console.WriteLine("Select()方法:");
                mySql.Select("test_connection");
    
                Console.WriteLine("\nInsert()方法:\n插入id=5,name=Test的一条数据");
                mySql.Insert("test_connection", 5, "Test");
                Console.WriteLine("---------------");
                Console.WriteLine("Select()方法:");
                mySql.Select("test_connection", "id", "name");
    
                Console.WriteLine("\nUpdate()方法:\n将id=5的数据的name修改为PPP");
                mySql.Update("test_connection", 5, "PPP");
                Console.WriteLine("---------------");
                Console.WriteLine("Select()方法:");
                mySql.Select("test_connection");
    
                Console.WriteLine("\nUpdateByParameters()方法:\n将id=5的数据的name修改为OOO");
                mySql.UpdateByParameters(5, "OOO");
                Console.WriteLine("---------------");
                Console.WriteLine("Select()方法:");
                mySql.Select("test_connection");
    
                Console.WriteLine("\nDelete()方法:\n删除id=5的数据");
                mySql.Delete("test_connection", 5);
                Console.WriteLine("---------------");
                Console.WriteLine("Select()方法:");
                mySql.Select("test_connection");
    
                Console.ReadKey();
            }
        }
    }
    
    

    4.运行测试

    运行前的数据表的数据:
    image.png

    运行结果:
    image.png

    展开全文
  • C# ODBC连接Mysql

    2015-11-21 20:49:48
    MySql与VS2010 C#连接方法之ODBC 测试电脑是64位的,32位电脑没有测试过,仅供参考。 1.还未安装MySql:先安装mysql-x.x.x,64位或32位都可以,安装过程略 2.已经安装了mysql的:下载安装mysql-...

    MySql与VS2010 C#连接方法之ODBC

    • 测试电脑是64位的,32位电脑没有测试过,仅供参考。

    • 1.还未安装MySql:先安装mysql-x.x.x,64位或32位都可以,安装过程略

    • 2.已经安装了mysql的:下载安装mysql-connector-odbc-x.x.x win32(官网有),必须要是32位的,与MySql是64还是32 无关,而且obdc- x.x.x的版本第一个数字要和mysql的第一个数字对上。

    • 3.OBDC数据源还未配置成功的:在cmd中输入C:\windows\sysWOW64\odbcad32.exe,创建数据源,root和password同mysql,接着test。 
      (解释:C:\windows\sysWOW64\odbcad32.exe显示的是32位的数据源,通过控制面板设置的数据源是64位的,驱动程序的位数和数据库程序的位数无关) 
      这里写图片描述

      这里写图片描述

    • 4.数据源连接successful之后,在vs的Server Explorer界面中点击Connecte to Database按钮 
      这里写图片描述

    • 5.选Microsoft ODBC Data Source,填写信息,Test Connection,连接succeeded后,也就是MySql和Visual Studio连接成功。如果出现“在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”的问题,请返回第三步。确定做好第三步还出现该问题的,请另行谷歌或百度。 
      这里写图片描述

    • 6.编写代码,可以复制connection string——例:Dsn=mysql;uid=root 
      这里写图片描述

    • 7.ODBC连接语句(仅供参考)

    •  try
                  {
                      //string strConn = "Server=127.0.0.1;Database=student;uid=;pwd=;";
                      //string strConn =  @"Dsn=mysql;uid=root";
                      string strConn = @"Dsn=mysql;uid=root";
                      OdbcConnection odbcConn = new OdbcConnection(strConn);
                     // SqlConnection sqlConn = new SqlConnection(strConn);
                      odbcConn.Open();
                      if (odbcConn.State == ConnectionState.Open)
                      {
                          lbShow.Text = "open mysql";


                          string sql = "insert into students(Name,Sex,Brith,Department,Address) values('nihao','M',1992,'math','aaaa')";
                          OdbcCommand cmd = new OdbcCommand(sql, odbcConn);
                          int res = cmd.ExecuteNonQuery();


                          odbcConn.Close();
                      }

    •             }
                  catch
                  {
                      MessageBox.Show("数据库打开失败");
                  }

    展开全文
  • 创建测试数据库和表 我使用的是Navicat15界面工具,建立JungleWars连接,创建Test数据库,创建user用户信息表,设置id为主键自动增长。并添加三条测试信息。

    创建测试数据库和表

    我使用的是Navicat15界面工具,建立JungleWars连接,创建Test数据库,创建user用户信息表,设置id为主键自动增长。并添加三条测试信息。
    user表
    测试信息

    添加新项目MySqlOperation

    为新项目增加MySql.Data.dll动态链接库。第一次使用dll时是不存在的,需要前往官网下载。

    查询操作

    using System;
    using MySql.Data.MySqlClient;
    
    namespace MySqlOperation
    {
        internal class Program
        {
            public static void Main(string[] args)
            {
                string config = "database=Test;" +
                                "datasource = 127.0.0.1;" +
                                "userid = root;" +
                                "port=3306;" +
                                "password=********";
                MySqlConnection conn = new MySqlConnection(config);
                conn.Open();
                string sql = "select *from user";
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                // 对数据进行读取
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string username = reader.GetString("username");
                    string password = reader.GetString("password");
                    Console.WriteLine(username + ":" + password);
                }
    
                reader.Close();
                conn.Close();
            }
        }
    }
    

    测试结果
    得到了所有用户名和密码

    wankcn:wankcn
    chenxi:chenxi
    wenruo:wenruo
    

    插入语句

    string userName = "liuxiyi"; string pwd = "liuxiyi";
    string sql = "insert into user set username='"+userName+"', password='"+pwd+"'";
    MySqlCommand cmd = new MySqlCommand(sql , conn);
    cmd.ExecuteNonQuery();
    

    测试结果查看数据库表中多了一行新插入的数据

    解决Sql注入问题

    使用传值的方式解决sql注入,恶意语句会被当作值写入表中。

    string userName = "wr";
    string pwd = "wr123';delete from user";
    string sql = "insert into user set username=@un,password=@pwd";
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("un", userName);
    cmd.Parameters.AddWithValue("pwd", pwd);
    

    在这里插入图片描述

    删除数据

    删除调id为5的那条sql数据。

    string sql = "delete from user where id=@id";
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("id",5);
    cmd.ExecuteNonQuery();
    

    在这里插入图片描述

    数据更新

    id为4的数据密码更新为lover

    string sql = "update user set password=@pwd where id=4";
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("pwd", "lover");
    cmd.ExecuteNonQuery();
    

    在这里插入图片描述

    展开全文
  • 首先我们去MySQL官网下载MySQL Connector/Net,根据需要下载32位或64位。 下载地址:https://dev.mysql.com/downloads/connector/net/点击打开链接 下载完成后直接安装即可,需要注意的是,不同的MySQL Connector/...
  • 最近在做一个c#开发,使用的工具是vs2013,MySQL数据库,在进行数据库连接时遇到一些问题,现在写出来供大家参考。
  • c#连接MySql数据库的两种方法. 先下载和安装MySQLDriverCS, 地址:http://sourceforge.net/projects/mysqldrivercs/ 在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中 成功测试环境...
  • 关于C# 连接Mysql

    2014-05-16 11:40:53
    缘起 由于一些特别的原因,我再次短暂的回到Windows,回到...由于不想使用和Visaul Studio 2010相同的臃肿的开发环境,就使用C#+Mysql这个组合。以下是一些记录。 正文 连接数据库最重要是找到驱动程序,ODBC、JDB
  • c#连接mysql的方法

    2016-04-15 17:17:40
    C#访问MySQL数据库的方法 (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/net/6.0.html 我下载的版本为: mysql-connector-...
  • C#连接本地MySQL实现增删改查。新手必看,测试通过。VS2010,MySQL本地数据库
  • 1.用HeidiSQL连接MySQL数据库不成功,可以将C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.dll复制到HeidiSQL的安装目录下。 2. 方法一:Visual Studio,在项目(右键)-管理NuGet程序包(N) 然后在浏览里面...
  • 个人认为有几篇文章处理的这个问题还不错,现总结如下:第一篇:c#连接MySQL解决汉字乱码突然发现我的数据表中,有汉字的部分均是乱码,英文正常,遂怀疑是编码问题。同事的工作,使用http发送utf-8编码的汉字,...
  • C#直接和MySQL建立连接

    2018-04-25 22:46:26
    using MySql.Data.MySqlClient;namespace CSharp直接和MySQL连接{ class Program { static void Main(string[] args) { string str = "server=127.0.0.1;port=3306;database=mygamedb;use...
  • c#连接MySQL数据库需要用到mysql-connector-net,这个组件网上查找就可以下载,安装直接按next,按默认路径安装。 using System; using System.Data; using MySql.Data.MySqlClient; namespace mysql_test { ...
  • 我用的是VS2019,对于C#连接MySql数据库刚开始走了好多弯路,今天把自己的总结分享给大家。 1、准备工作: (1)、VS连接数据库,SQL Server是必不可少的。我用的版本是mysql-5.5.20-win32.msi。 (2)、然后就是需要...
  • C#/.NET 在EF中连接mySql

    2018-05-04 01:54:53
    做了一次更新,以后面更新的内容为主我们在开发有关数据库相关的程序的时候,通常会遇到选择数据库的连接方式问题,有些人选ADO.NET,有些人选EF,更好的就是两者同时选择。我在写现在这个项目的时候,因为和PHP配合...
  • VS2017C#连接MySql

    2018-11-30 11:12:32
    首先我们去MySQL官网下载MySQL Connector/Net,根据需要下载32位或64位。 下载地址:https://dev.mysql.com/downloads/connector/net 下载完成后直接安装即可,需要注意的是,不同的MySQL Connector/Net版本支持的...
  • 使用得是vs2017版本 ...2.类中关于mysql数据库连接的方法如下: ①解决方案资源管理器中右键引用->添加引用->扩展->选择MySql.Data 或者在解决方案资源管理器中右键引用->添加引用->浏览,浏览路径为安装mysq
1 2 3 4 5 ... 20
收藏数 12,397
精华内容 4,958