首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c#你喜欢吗?

C#连接mysql数据库

全部版本下载:http://hovertree.com/h/bjaf/0sft36s9.htm

mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库。当你的电脑弹出提示“丢失mysql.data.dll”或“无法找到mysql.data.dll”等错误问题,请下载本站为你提供的dll文件,使用它可以帮助用户解决上述问题。

dll文件修复方法:

1、解压下载的文件。

2、复制文件“mysql.data.dll”到系统目录下。

3、系统目录一般为:C:\WINNT\System32 64位系统为C:\Windows\SysWOW64

4、最后点击开始菜单-->运行-->输入regsvr32 mysql.data.dll 后,回车即可解决错误提示!

第三方组件:Mysql.Data.dll

说明:下载Mysql.Data.dll,然后在项目中添加该组件的引用,在代码页里输入using Mysql.Data.MysqlClient,我们就可以顺利的使用该类库的函数建立连接了。

代码:

using System.Data;

using MySql.Data.MySqlClient;

private MySqlConnection conn;

private DataTable data;

private MySqlDataAdapter da;

private MySqlCommandBuilder cb;

private DataGrid dataGrid;

private void connectBtn_Click(object sender, System.EventArgs e)

{

if (conn != null)

conn.Close();

string connStr = String.Format("server=;user id=; password=; port=; database=mysql; pooling=false; charset=utf8",

server.Text, userid.Text, password.Text, 3306);

try

{

conn = new MySqlConnection( connStr );

conn.Open();

GetDatabases();

MessageBox.Show("连接数据库成功!");

}

catch (MySqlException ex)

{

MessageBox.Show( "Error connecting to the server: " + ex.Message );

}

}

private void GetDatabases()

{

MySqlDataReader reader = null;

MySqlCommand cmd = new MySqlCommand("SHOW DATABASES", conn);

try

{

reader = cmd.ExecuteReader();

databaseList.Items.Clear();

while (reader.Read())

{

databaseList.Items.Add( reader.GetString(0) );

}

}

catch (MySqlException ex)

{

MessageBox.Show("Failed to populate database list: " + ex.Message );

}

finally

{

if (reader != null) reader.Close();

}

}

private void databaseList_SelectedIndexChanged(object sender, System.EventArgs e)

{

MySqlDataReader reader = null;

conn.ChangeDatabase(databaseList.SelectedItem.ToString());

//http://sosoft.cnblogs.com/

MySqlCommand cmd = new MySqlCommand("SHOW TABLES", conn);

try

{

reader = cmd.ExecuteReader();

tables.Items.Clear();

while (reader.Read())

{

tables.Items.Add( reader.GetString(0) );

}

}

catch (MySqlException ex)

{

MessageBox.Show("Failed to populate table list: " + ex.Message );

}

finally

{

if (reader != null) reader.Close();

}

}

private void tables_SelectedIndexChanged(object sender, System.EventArgs e)

{

data = new DataTable();

da = new MySqlDataAdapter("SELECT * FROM " + tables.SelectedItem.ToString(), conn );

cb = new MySqlCommandBuilder( da ); // 此处必须有,否则无法更新

da.Fill( data );

dataGrid.DataSource = data;

}

private void updateBtn_Click(object sender, System.EventArgs e)

{

DataTable changes = data.GetChanges();

da.Update( changes );

data.AcceptChanges();

}

C#连接SQL SEVER数据库

string con, sql;

con = "Server=.;Database=Exercise;Trusted_Connection=SSPI";

sql = "select * from lianxi";

SqlConnection mycon = new SqlConnection(con);

mycon.Open();

SqlDataAdapter myda =newSqlDataAdapter(sql, con);

DataSet myds =newDataSet();

myda.Fill(myds,"lianxi");

dataGridView1.DataSource = myds.Tables["lianxi"];

mycon.Close();

"user id=sa":连接的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".

"password=":连接的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".

"DataBase=Exercise"指的就是你建立的服务器,

"Server=.:这个点代表的是本机的意思,还可以写成server=localhost,

dataGridView1界面上的的控件名称。

C#连接Oracle数据库

1. 需要添加一个System.Data.OracleClient引用,这个文件一般在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0路径下可以找到,v4.0不是绝对的,按照自己所需的版本选择。

2. 在用到的地方加using System.Data.OracleClient;

3. 实际连接的代码我是这样写的:

private void ConnectToOracle()

{

string strCon = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + textBox_OracleIp.Text + ")(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=aaaaa)));Persist Security Info=True;User ID=bbbb;Password=xxxxxxxx;";

OracleConnection myConn = new OracleConnection(strCon);

myConn.Open();

}

aaaaa表示数据库实例名,bbbb表示用户名,xxxxxxxx是密码,自己对号入座。

4. 一般情况下,这样做完是连接不上的。因为还需要数据库客户端的支持,你可以装一个客户端软件,32位或64位看自己实际情况,我这里C#生产的代码以x86位为目标平台,假的OracleClient库文件也是32位的,所以装了个32位的客户端,装完后将路径(如C:\Program Files(x86)\Oracle\instantclient_11_2)加到PATH环境变量,再加一个环境变量NLS_LANG,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK(不绝对),这个是设置ORACLE通信过程中使用的语言和字符集,需要与服务器端一致。这样之后应该是可以成功连接了。

5. 有的人觉得每台要使用我这个软件的PC都要装oracle客户端麻烦,那么还有一种方法可以不用安装oracle客户端,那么需要下载oracle instant client包,可以从oracle官网http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html或csdn下载到。我这里提供一个32位11g的包。解压后有很多文件,很多博客上讲到需要用到里面的9个文件(如classes12.jar oci.dll ocijdbc10.dll ociw32.dll ojdbc14.jar Oracle.DataAccess.dll orannzsbb10.dll oraocci10.dll oraociei10.dll OraOps10.dll),我这边实际测试只需要其中两个文件就能正常连接和读写数据了。这两个文件是oci.dll、oraociei11.dll。

在工程下新建一个oracle文件夹,加入这两个文件,将文件的copy to output directory属性设为copy if newer,这样到时候在exe文件所在目录会有oracle目录,里面含有这两个dll文件。然后再连接oracle之前进行如下设置,我这里是在main方法中设置的:

//取得存放oracle驱动文件的路径

string oraclePath = System.Windows.Forms.Application.StartupPath + @"\oracle";

//设置PATH环境变量,加入oracle驱动所在文件夹,并且这个PATH只在当前进程起作用

Environment.SetEnvironmentVariable("PATH", oraclePath, EnvironmentVariableTarget.Process);

//设置ORACLE在通信过程中使用的语言和字符集,这个字符集要和数据库服务器一致,否则会乱码

//可以用SQL语句查询服务器使用得字符集

Environment.SetEnvironmentVariable("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS16GBK", EnvironmentVariableTarget.Process);

这样设置完后,在不安装oracle客户端的情况下也应该能连接上数据库了。

—— End ——

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180115G0E64I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券