C#访问MySQL数据库的方法

(1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序

下载地址为:

http://dev.mysql.com/downloads/connector/net/6.0.html

我下载的版本为: mysql-connector-net-6.3.8.msi

下载地址如下url:

http://dev.mysql.com/downloads/mirror.php?id=405442

或者去我的CSDN资源中下载:

http://download.csdn.net/detail/guomutian911/8304975

(2)安装mysql-connector-net

然后直接在Windows操作系统安装 mysql-connector-net-6.3.8.msi

默认是安装在C盘:

C:\Program Files\MySQL\MySQL Connector Net6.3.8\Assemblies

v2.0

v4.0

安装完后我选择的是v2.0版本的

然后在应用工程中引用组件MySQL.Data.dll,具体方法如下图所示:



图1为msi安装后的目录,需要将红色的dll加入工程引用中

按图示步骤加入引用,当如数字4处,出MySqlData则表明引用dll成功,即已经加载了mysql驱动

3)程序中数据库操作代码如下:

//using System;
//using System.Collections.Generic;
//using System.ComponentModel;
//using System.Data;
//using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Text;  
  
using MySql.Data.MySqlClient;  
using System.Data;  
using System.Data.Common;
using System;
using System.Collections.Generic;
using System.Text;

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


namespace keshe
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //switch (power)
            //{
            //    case "0":ToolStripStatuesIt
            //}
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            int flag = 1;


            if (txtName.Text == "" || txtPwd.Text == "")
            {
                MessageBox.Show("信息不完整!", "提示");
                return;
            }
            //if (txtName.Text != "1" && txtPwd.Text != "1")
            //{
            //    MessageBox.Show("用户名或密码不正确!", "提示");
            //}
            //else
            //{
            //    new Form2().Show();
            //    this.Hide();
            //}
            
            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", "root", "mydata", 3306);
                conn.Open();

                DbDataAdapter da = factory.CreateDataAdapter();
                
                da.SelectCommand = conn.CreateCommand();
                da.SelectCommand.CommandText = "select * from tb_user";
                

                //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("tb_user");
                da.Fill(dt);
                //MessageBox.Show("ok", "okk");
                int index = 0;
                foreach (DataRow o in dt.Rows)
                {
                    if (o["UserName"].Equals(txtName.Text) && o["UserPwd"].Equals(txtPwd.Text))
                    {
                        MessageBox.Show("用户为:" + txtName.Text, "登陆用户判断");
                        // Console.WriteLine(String.Format("index={0}, to delete id = 4, col2 = {1}", index, o["col2"]));
                        //break;
                        new Form2().Show();
                        this.Hide();
                        flag = 0;
                    }
                    //else
                    //{
                    //    MessageBox.Show("非法登陆");
                    //}
              
                    index++;
                }
                if (flag == 1)
                {
                    
                        MessageBox.Show("非法登陆");
                    
                }
                //dt.Rows[index].Delete();
                //da.Update(dt);
                //dt.AcceptChanges();

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



            
            
        }
        private void button2_Click_1(object sender, EventArgs e)
        {
            txtName.Clear();
            txtPwd.Clear();
        }
    }
}
    

4)简单运行效果:


首先将用户输入与数据库查询比对,如果有则显示用户名,并提示登录成功


111用户名在数据库不存在

********************************************************************************************




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值