关于c#中多种连接mysql数据方法

关于c#中多种连接mysql教程数据方法
方法一:
使用mysql推出的mysql connector/net is an ado.net driver for mysql
该组件为mysql为ado.net访问mysql数据库教程设计的.net访问组件。
安装完成该组件后,引用命名空间mysql.data.mysqlclient;
使用命令行编译时:csc /r:mysql.data.dll test.cs
方法二:
通过odbc访问mysql数据库
访问前要先下载两个组件:odbc.net和mysql的odbc驱动(mysql connector/odbc (myodbc) driver)目前为3.51版
安装完成后,即可通过odbc访问mysql数据库
方法三:
使用corelab推出的mysql访问组件,面向.net
安装完成后,引用命名空间:corelab.mysql;
使用命令编译时:csc /r:corelab.mysql.dll test.cs

mysqlconnection conn = null;   
 try  
 {   
//mysqlconnection conn = new mysqlconnection(new mysqlconnectionstring("myquest", "root", "amttgroup").asstring);   
//实例化一个连接对象其中myquest为数据库名,root为数据库用户名,amttgroup为数据库密码    
     string connstr = "data source=mysql;password=root;user id=root;location=localhost";   
     conn =     new mysqlconnection(constr);   
     conn.open();   
     string query = "insert into test.dbtable values(10, 'disksidkfsdi', 'asdfaf', 'adsfasdf')";   
     string tmp = null;   
     mysqlcommand cmd = new mysqlcommand(query, conn);   
     for(int i = 0; i < 100000; i++)   
     {   
       cmd.executenonquery();   
     }   
     cmd.dispose();   
     conn.close();   
     query = "select * from test.dbtable";   
     mysqlcommand cmd2 = new mysqlcommand(query, conn);   
     conn.open();   
  
  //设定中文输出   
  mysqlcommand firstcmd = new mysqlcommand("set names gb2312", myconn);   
  firstcmd.executenonquery();   
  
     mysqldatareader reader = cmd2.executereaderex();   
     while(reader.read())   
     {   
         tmp = reader[0].tostring();   
         tmp = reader[1].tostring();   
         tmp = reader[2].tostring();   
         tmp = reader[3].tostring();   
     }   
     conn.close();   
     query = "delete from test.dbtable";   
     mysqlcommand cmd3 = new mysqlcommand(query, conn);   
     conn.open();   
     cmd3.executenonquery();   
 }   
 catch(exception ex)   
 {   
     messagebox.show(ex.message);   
 }   
 finally  
 {   
     conn.close();   
 }

mysqldrivercs实现在.net环境下访问mysql数据库

 

using system;

using system.data;

using system.data.sqlclient;

using system.configuration;

using system.web;

using system.web.security;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.webcontrols.webparts;

using system.web.ui.htmlcontrols;

using mysqldrivercs;

 

public partial class _default : system.web.ui.page

{

    protected void page_load(object sender, eventargs e)

    {

        mysqlconnection conn = null;

        conn = new mysqlconnection(new mysqlconnectionstring("127.0.0.1", "dvbbs", "root", "123456").asstring);

        conn.open();

        mysqlcommand commn = new mysqlcommand("set names gb2312",conn);

        commn.executenonquery();

        string sql = "select title,topicid, boardid ,dateandtime,hits  from  dv_topic order by dateandtime desc limit 10";

        mysqldataadapter mda = new mysqldataadapter(sql,conn);

        dataset ds = new dataset();

        mda.fill(ds, "table1");

        this.repeater1.datasource = ds;

        this.repeater1.databind();

        conn.close();

    }

}

就这样就可以实现在.net环境下对mysql数据的访问。在这之前还要做一些准备,下载mysqldrivercs,安装,在安装文件夹下面找到mysqldriver.dll,然后将mysqldriver.dll添加引用到项目中就ok了。也许你对这行代码

mysqlcommand commn = new mysqlcommand("set names gb2312",conn);

        commn.executenonquery();

网友提供的方法

 

以下为访问mysql数据库实例

编译指令:csc /r:corelab.mysql.dll /r:mysql.data.dll test.cs

using system;
using system.net;
using system.text;
using corelab.mysql;
using system.data.odbc;
using mysql.data.mysqlclient;

class connectmysql
{

public void connect_corelab()
{
string constr = "user id=root;host=localhost;database=qing;password=qing";
mysqlconnection mycn = new mysqlconnection(constr);
mycn.open();
mysqlcommand mycm = new mysqlcommand("select * from shop",mycn);
mysqldatareader msdr = mycm.executereader();
while(msdr.read())
{
if (msdr.hasrows)
{
console.writeline(msdr.getstring(0));
}
}
msdr.close();
mycn.close();
}

public void connect_odbc()
{
//string myconstring ="dsn=mysql;uid=root;pwd=qing";
string myconstring = "driver={mysql odbc 3.51 driver};" +
"server=localhost;" +
"database=test;" +
"uid=root;" +
"password=qing;" +
"option=3";
odbcconnection myconn = new odbcconnection(myconstring);
myconn.open();
odbccommand mycm = new odbccommand("select * from hello",myconn);
odbcdatareader msdr = mycm.executereader();
while(msdr.read())
{
if (msdr.hasrows)
{
console.writeline(msdr.getstring(0));
}
}
msdr.close();
myconn.close();
}
public void connect_net()
{
string myconnectionstring = "database=test;data source=localhost;user id=root;password=qing";
mysqlconnection mycn = new mysqlconnection(myconnectionstring);
mycn.open();
mysqlcommand mycm = new mysqlcommand("select * from hello",mycn);
mysqldatareader msdr = mycm.executereader();
while(msdr.read())
{
if (msdr.hasrows)
{
console.writeline(msdr.getstring(0));
}
}
msdr.close();
mycn.close();
}
public static void main()
{
connectmysql ms = new connectmysql();
ms.connect_corelab();
ms.connect_odbc();
connect_net();
}
}

时间: 2024-09-20 07:27:32

关于c#中多种连接mysql数据方法的相关文章

windows中cmd连接mysql的方法以及命令

连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样) 断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\" 修改密码:mysqladmin -u用户名 -p旧密码 password 新密码 删除授权: revoke select,insert,update,delete om *.* fromtest2@localhost; 显示数据库:sho

asp.net中多种批量导入数据方法

在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法.     首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了.    代码如下 复制代码     /// <summary>     /// 提供数据批量处理的方法.     /// </summar

java连接mysql数据代码

java连接mysql教程数据代码 package jxc; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import java.sql.*; public class jdbcconn

操作-【急】问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴

问题描述 [急]问一个关于java web中tomcat连接mysql数据库的问题(问题点数40无满意结贴 我是计科专业在做毕业设计没接触过java,做一个在线答疑系统,在csdn上下了一个jsp+struts2+spring的感觉比较全的系统,下载地址为http://download.csdn.net/detail/hmshust/6950301,该文是0积分的,下载的如图![图片说明](http://img.ask.csdn.net/upload/201505/07/1431008698_8

java使用jdbc连接数据库工具类和jdbc连接mysql数据示例_java

这个工具类使用简单,实例化直接调用就可以了,大家还可以方便的根据自己的需要在里面增加自己的功能 复制代码 代码如下: package com.lanp.ajax.db; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; /** * 连接数据库的工具类,被定

Windows系统中多种隐藏超级用户方法

一.如何在图形界面建立隐藏的超级用户 图形界面下适用本地或开3389终端服务的肉鸡上.上面我提到的那位作者说的方法很好, 但是较为复杂,还要用到psu.exe(让程序以系统用户身份运行的程序),如果在肉鸡上的话还要上传psu.exe.我说的这个方法将 不用到psu.exe这个程序.因为Windows2000有两个注册表编辑器:regedit.exe和regedt32.exe.XP中regedit.exe和regedt32.exe实为一个程序,修改键值的权限时在右键中点"权限"来修改.对

SQL server中多种关键字查询数据

问题描述 SQL server中多种关键字查询数据 比如学生有姓名,学号,班级等列,我可以通过学号查询,也可以通过姓名查询 解决方案 两个办法,一个是首先在代码中判断输入的是全数字还是中文,分别执行不同的查询.或者写在一起:select * from table where 姓名=输入 or 学号=输入 解决方案二: select * from 学生表 where name = '姓名' or No='学号' 解决方案三: 可以使用动态sql拼接比如定义一个@sqltext 根据不同的情况拼接s

Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法_php技巧

对比下面两个脚本的速度: Windows 7 用 localhost 连接本地 MySQL,速度会很慢. Windows 7 用 127.0.0.1 连接本地 MySQL,速度则是正常的. my.ini里配置了 bind-address=127.0.0.1  用localhost连接本地MySQL: 速度慢 <?php $start = microtime(true); $mysqli = new mysqli('127.0.0.1', 'root', '', 'mysql'); //连接耗时仅

远程连接mysql 授权方法详解_Mysql

今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库. 方案一: 在安装mysql的机器上运行: 1: 创建user用户 复制代码 代码如下: CREATE USER demo IDENTIFIED BY "123456" 2. 复制代码 代码如下: mysql>GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH G