(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用户名在数据库不存在
********************************************************************************************