.net mysql数据库_如何在.net中访问mysql数据库

展开全部

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

mysql-connector-net-6.3.8.msi

(2)安装mysql-connector-net

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

(3)封装数据库访问组件DbConnectionMySQL/// 

/// MySQL数据库

/// 版本 mysql-connector-net-6.3.8.msi

/// 

[Serializable]

public class DbConnectionMySQL : DbConnectionWrapper

{

public DbConnectionMySQL(string pConnectionString)

: base(pConnectionString)

{

this.m_dbconn = new MySqlConnection(pConnectionString);

this.m_DbConnState = DbConnState.Free;

}

//--

public override DbDataAdapter GetDbDataAdapter()

{

return new MySqlDataAdapter();

}

public override DbDataAdapter GetDbDataAdapter(DbCommand dbCommand)

{

return new MySqlDataAdapter(dbCommand as MySqlCommand);

}

public override DbCommand GetDbCommand()

{

return new MySqlCommand();

}

public override DbConnection GetDbConnection()

{

return new MySqlConnection();

}

public override DbCommandBuilder GetDbCommandBuilder()

{

return new MySqlCommandBuilder();

}

public override DataProviderType GetCurrentDataProviderType()

{

return DataProviderType.Sql;

}

public override bool IsExistsTable(string TableName, string UserName)

{

#region information

bool rbc = false;    //TABLES表中去查询 table_name

string dSql = "select * from TABLES where table_name='" + TableName + "'";

DataSet ds = this.ExecuteDataSet(dSql);

if (ds != null)

{

if (ds.Tables[0].Rows.Count > 0)

{

rbc = true;

}

else

{

rbc = false;

}

}

else

{

rbc = false;

}

return rbc;

#endregion

}

public override bool IsExistsField(string FieldName, string TableName)

{

#region information

bool rbc = false;

string dSql = "";

dSql = "select * from " + TableName + " where 1<>1";

DataSet ds = this.ExecuteDataSet(dSql);

if (ds != null)

{

DataTable dt = ds.Tables[0];

for (int j = 0; j 

{

if (dt.Columns[j].ColumnName.ToString().ToUpper() == FieldName.ToString().ToUpper())

{

rbc = true;

goto Return_End;

}

}

dt.Dispose();

dt = null;

}

ds.Dispose();

ds = null;

Return_End:

return rbc;

#endregion

}

public override char ParameterChar

{

get

{

return ':';   //SQLite的参数符号为:

}

}

public override DbParameter CreateParameter(string name, object value)

{

return new MySqlParameter(name, value);

}

public override DbParameter CreateParameter(string name)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

return dbp;

}

public override DbParameter CreateParameter(string name, DbType dbtype, object value)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

dbp.Value = value;

dbp.DbType = dbtype;

return dbp;

}

public override DbParameter CreateParameter(string name, DbType dbtype, int size, object value)

{

DbParameter dbp = new MySqlParameter();

dbp.ParameterName = name;

dbp.Value = value;

dbp.DbType = dbtype;

dbp.Size = size;

return dbp;

}

}

(4)客户端开发实例public void TestCShape_MySQL()

{

string constr = "server=localhost;User Id=root;password=root;Database=xp_users";

DbConnectionWrapper dbw = new DbConnectionMySQL(constr);

bool rbc=dbw.TestConnection();

this.Context.Response.Write(rbc);

string x = "";

//删除语句

x = "delete from xp_users";

if (dbw.ExecuteQuery(x) > 0)

{

this.Context.Response.Write("删除语句成功!下面是SQL语句
" + x);

}

//插入语句

x = "insert into xp_users(gid,uid,uname,sex,email,pwd) values('";

x += "1','hsg77','何XXX',1,'hsg77@163.com','1')";

if (dbw.ExecuteQuery(x) > 0)

{

this.Context.Response.Write("插入语句成功!下面是SQL语句
"+x);

}

//查询语句

DataTable dt = dbw.ExecuteDataTable("select * from xp_users");

if (dt != null && dt.Rows.Count > 0)

{

this.Context.Response.Write("
用户数:"+dt.Rows.Count);

}

if (dt != null)

{

dt.Dispose();

dt = null;

}

dbw.Dispose();

dbw = null;

}

文中实例来自一篇博客,由于百度知道对 url 地址封杀,不能直接给出链接!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值