.net mysql关闭连接_.net与mysql连接

首先去mysql网站下载一个mysql非安装版本

如果你感觉使用dos命令行不方便的话,可以顺便也下载一个GUI客户端:

然后打开vs..这个版本必须是2003以上。

然后呢,建立一个windowsApplication工程,然后在里面的app.config

如果你想把连接字符串写在程序里的话:将下面的代码改为stringstrConn =  “server=localhost;user id=root;password=;database=test;allow zero datetime=true;”

这里与sqlserver连接字符串相区别的是:

user->user id,

当然估计没有下载MySql.Data.dll所以在

然后在net工程里添加引用,找到刚才你下载MySql.Data.dll的压缩包,解压后,在bin目录下有MySql.Data.dll.

添加成功后,在你的代码里添加一个

using MySql.Data.MySqlClient;

然后下面的和SqlClient的效果是一样的。只不过前面多了"My"

下面看具体的代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

usingSystem.Data;

usingMySql.Data.MySqlClient;

namespaceSqlConnect

{

/// 

/// author: chico chen

/// date: 2008-11-02

/// 

publicclassSqlAccess

{

privateMySqlConnection conn =null;

privateMySqlCommand cmd =null;

/// 

/// 建立与数据库的连接

/// 

/// 

privateMySqlConnection CreateConn()

{

stringstrConn = System.Configuration.ConfigurationSettings.AppSettings["Restaurant"].ToString();

// SqlConnection 对象

conn =newMySqlConnection(strConn);

try

{

conn.Open();

returnconn;

}

catch(Exception e)

{

Console.WriteLine("sql 连接未打开");

returnnull;

}

}

/// 

/// 关闭与数据库的连接

/// 

privatevoidCloseConn()

{

try

{

conn.Close();

}

catch(Exception e)

{

Console.WriteLine("sql 连接未关闭");

}

}

/// 

/// 查询数据库

/// 

/// 类似于SELECT * FROM [User];

/// 

publicDataSet SelectDataSet(stringsql)

{

CreateConn();

MySqlDataAdapter sda =newMySqlDataAdapter(sql, conn);

DataSet ds =newDataSet();

sda.Fill(ds);

CloseConn();

returnds;

}

/// 

/// 执行无返回值的sql语句,如果成功返回true,失败返回false;

/// 

/// 类似于UPDATE [USER] SET userID=@userIDC  WHERE userID=@userID

/// 或delete from [user] where userID=@userID;

/// 或者insert into [user] (userID, password, name) values (@userID,@password,@Name) ;

/// 

///  SqlParameter[] sp = new SqlParameter[3];

///  sp[0] = new SqlParameter(user, SqlDbType.VarChar, 50);

/// sp[0].Value = "www";

/// 

/// 

publicboolEXESql(stringsqlcmd, MySqlParameter[] sqlPara)

{

try

{

CreateConn();

cmd =newMySqlCommand();

cmd.Connection = conn;

cmd.CommandType = CommandType.Text;

cmd.CommandText = sqlcmd;

foreach(MySqlParameter spinsqlPara)

{

cmd.Parameters.Add(sp);

}

cmd.ExecuteNonQuery();

CloseConn();

returntrue;

}

catch(Exception e)

{

returnfalse;

}

}

}

}

这里调用的代码这样写:

DataSet ds = sqlAccess.SelectDataSet("select * from user");

当然如果你使用DataSet还要加using System.Data;

连接字符串中为什么要加Allow Zero datetime  = true是因为在添加数据库数据时,

添加了错误的dateTime数据,所以mysql自动将其转为0000-00-00 00:00:00,所以在

DataSet ds = new DataSet();

sda.Fill(ds);

这里就会报异常,原因是不支持这种Date/Time。

要使用刚才的接口的话:{

DataSet ds = sqlAccess.SelectDataSet("select * from user");

Array alist = ds.Tables[0].Rows[0].ItemArray;

foreach(objectoinalist)

{

label1.Text += o.ToString();

}

UpdateName();

}

privateconststringsql ="UPDATE USER SET userName=@userName  WHERE userID=@userID";

privateconststringuserName ="@userName";

privateconststringuserID ="@userID";

privatevoidUpdateName()

{

inti = 1;

stringname ="xxxx";

MySqlParameter[] my =

{

newMySqlParameter(userName,MySqlDbType.String),

newMySqlParameter(userID,MySqlDbType.Int32)

};

my[0].Value = name;

my[1].Value = i;

label2.Text = sqlAccess.EXESql(sql, my).ToString();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值