C#如何连接其他数据库,如MYSQL或者Postgresql
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何连接其他数据库,如MYSQL或者Postgresql相关的知识,希望对你有一定的参考价值。
如题,主要想知道如何连接Postgresql,我想做个连接Postgresql的应用程序,对数据表进行增删改查等功能!谁能帮助下,最好连控件如何显示数据也写出来!先给20分,好的再加!
using System;using System.Data.SqlClient;
using System.Data;
public class DB
static string Sql="server=.;uid=名字;pwd=密码;database=你要连的数据库";
private SqlConnection objSqlConnection = new SqlConnection(Sql);
//以上是加载驱动你要连到的数据库
public int Update(string sql)
objSqlConnection.Open();
SqlCommand objSqlCommand = new SqlCommand(sql,objSqlConnection);
int r=objSqlCommand.ExecuteNonQuery();
objSqlConnection.Close();
return r; //r如果是=1就是增删改成功!
//上面的方法是增删改
public DataSet Select(string sql)
DataSet objDataSet = new DataSet();
SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter(sql,objSqlConnection);
objSqlDataAdapter.Fill(objDataSet);
return objDataSet;
//这个方法是查;
这是一个连接SQL的类;
你建这样的一个类,在哪个地方要就实例后调他的方法带入一个参数;
参数是SQL增删改查的语句;
如果要在你做的那个程序实现增删改的话就
DB db = new DB();
int i = DB.Update(增的SQL语句);
// 返回的i是1就是成功了!
===========================
DB db = new DB();
int i = DB.Update(删的SQL语句);
// 返回的i是1就是成功了!
==========================
DB db = new DB();
int i = DB.Update(改的SQL语句);
// 返回的i是1就是成功了!
========================如果要查询
DB db = new DB();
DataSet ds = new DataSet();
ds = db.Select(查的SQL语句);
//查询出的结果就放在ds里面; 参考技术A
1、要连接mysql数据库必须首先下载MySql官方的连接.net的文件,下载平台选择.Net&Mono,下载ZIP免安装版。
2、解压缩刚才下载的mysql-connector-net-6.6.6-noinstall.zip文件,里面有几个版本选择,在这里我选V4,选中这几个文件,然后添加到C#项目的引用中,然后就可以编写程序进行数据库的操作了。
3、数据库操作代码 InsertMySql.cs
代码如下:
using System;usingSystem.Collections;using System.Configuration;using MySql.Data;using
MySql.Data.MySqlClient;using System.Data;
namespace Sql//数据库简单测试 class InsertSql1
public static void Main(string[] args) string
constr="server=localhost;User
Id=root;password=219229;Database=reg"; MySqlConnection mycon=new
MySqlConnection(constr); mycon.Open();
MySqlCommand mycmd = new MySqlCommand("insert into buyer(name,password,email)
values('小王','dikd3939','1134384387@qq.com')",mycon); if
(mycmd.ExecuteNonQuery()>0)
Console.WriteLine("数据插入成功!");
Console.ReadLine(); mycon.Close();
参考技术B 安装POSTGRESQL的ODBC驱动,用.net通过odbc访问
安装POSTGRESQL的OLEDB驱动,用.net通过oledb方式访问
这两个驱动可以在这里找到
http://pgfoundry.org/projects/pgw32cli/
除此以外,你还可以在
http://pgfoundry.org/projects/npgsql/
找到专门用于.net操作POSTGRE的.net程序集,使用时导入即可,
至于增删改查,就用最标准的SQL语句操作即可
这里有个最简单的例子:
using Npgsql;
conn = new NpgsqlConnection("Server=localhost;Port=5432;UserId=postgres;Password=123456;Database=dbname;");
conn.Open();
NpgsqlCommand command = new NpgsqlCommand(sqlcommand, conn);
Int32 rowsaffected;
rowsaffected = command.ExecuteNonQuery();
conn.Close();
C#学习之路-连接MySQL数据库
C# 是一个现代的、通用的、面向对象的编程语言,它是由微软开发的,也是.Net框架的一部分,一般使用Visual Studio作为开发工具。MySQL数据库是由MySQL AB公司开发的,目前属于Oracle公司。因此,在使用C#操作MySQL数据库时就不像操作SQL SERVER数据库那么方便,需要下载中间件并进行相关的配置,那该下载什么插件?又该如何配置呢?下面就来分享一下笔者是如何把二者一步步结合起来的。
安装好后在documentation目录中可以看到帮助文档
第二步:将安装目录Assemblies文件夹(笔者的安装目录是F:programfilesMySQLMySQL Connector Net 6.9.5Assemblies)中的v4.0或v4.5中的MySql.Data.dll添加到项目的引用中。
其中v4.0和v4.5对应Visual Studio具体项目属性-应用程序-目标框架里的.NET Framework的版本号。
第三步:写程序建立连接,注意一定要引入对应的命名空间
笔者在连接数据库时遇到一个小插曲,即报了如下图所示的异常。
通常报这个异常是因为数据库的身份验证方式是 mysql_native_password 方式,不是caching_sha2_password方式。解决过程如下:
1、笔者的MySQL是通过解压缩方式安装的MySQL 8.0.16,所以去安装目录中找到配置文件my.cnf(手动创建的也有可能是my.ini,根据个人安装MySQL时建的配置文件确定),如下图所示:
打开my.cnf文件,增加如下图中红框框起来的内容,更改数据库的默认验证方
式为mysql_native_password
2、点击Windows+R键-输入services.msc-确认打开服务对话框,找到MySQL服务,并重新启动。
3、回到原程序再次连接成功
笔者个人经验,不当之处欢迎指正……
喜欢文章内容请
长按识别下方二维码
以上是关于C#如何连接其他数据库,如MYSQL或者Postgresql的主要内容,如果未能解决你的问题,请参考以下文章
vs2017 c#窗口应用程序 datagridview查询到mysql数据,如何改变列字段的顺序
SqlServer 如何通过命令窗口向远程链接服务器数据库表导入数据,或者用其他方法导入数据