c# 连接数据库,c#连接数据库的步骤是什么
大家好,如果您还对c# 连接数据库不太了解,没有关系,今天就由本站为大家分享c# 连接数据库的知识,包括c#连接数据库的步骤是什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
c#连接数据库的步骤是什么
C#连接数据库有以下几个步骤:
1:使用配置的数据库连接串,创建数据库连接 Connection对象
2:构建操作的sql语句
3:定义command对象
4:打开数据连接
5:执行命令
举一个例子,删除操作
public class StudentService
{
//从配置文件中读取数据库连接字符串
private readonly static string connString= ConfigurationManager.ConnectionStrings["accpConnectionString"].ToString();
private readonly static string dboOwner= ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString();
AdoNetModels.Student model= new Student();
#region删除数据1
public int DeleteStudent(int stuID)
{
int result= 0;
//数据库连接 Connection对象
SqlConnection connection= new SqlConnection(connString);
//构建删除的sql语句
string sql= string.Format("Delete From Student Where stuID={0}", stuID);
//定义command对象
SqlCommand command= new SqlCommand(sql, connection);
try
{
connection.Open();
result= command.ExecuteNonQuery();//执行命令
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
return result;
}
#endregion
C#如何连接数据库
我们用C#编写程序的时候,经常需要连接数据库进行数据操作,那么C#如何连接数据库呢?下面我给大家分享一下。
工具/材料Visual Studio 2015
01首先我们打开Visual Studio,创建一个控制台应用程序,如下图所示
02接下来在程序文件中我们导入连接数据库所需要的库文件,如下图所示
03然后就需要通过SqlConnection来声明数据库连接实例,并且指定数据库连接字符串,如下图所示
04数据库连接成功以后,我们就可以通过SQL语句操作数据库的数据了,操作完毕记得关闭数据库的连接,如下图所示
c#连接数据库的几种方式
第一种方法:直接通过数据库的用户名、密码等连接到数据库进行数据库连接。
如:private void sqlconn()
{
SqlConncetion conn= new SqlConnection("SERVER=.;DATABASE=pubs;PWD=;UID=sa;");
SqlConncetion cmd= new SqlCommand("SELECT*FROM [table]",cmd);
DataSet ds= new DataSet();
SqlDataAdapter adp= new SqlDataAdapter(cmd);
adp.Fill(ds);
}
其中SqlConnection是数据库连接类,SqlDataAdapter是数据适配器,SqlCommand是数据操作命令,即执行SQL语言。
说明,使用SqlConnection进行数据库的连接,然后使用SqlCommand定义SQL查询语句,再定义一个DataSet存储查询的结果,而SqlDataAdapter是数据库和DataSet的转换桥梁。
第二种方法:通过ConfigurationManager.ConnectionString获取数据库的配置信息。进行数据库的连接。
如:public static int ExcuteNonQuery(string sql,params SqlParameter[] parameters)
{
string connStr= configurationManager.ConnectionStrings["ConnStr"].ConncetionString;
using(SqlConncetion conn=new SqlConnection(connStr))
{
conn.open();
using(SqlCommand cmd= conn.CreateCommand())
{
cmd.CommandText= sql;
foreach(SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
说明:
(1)通过string connStr=ConfigurationManager.ConnectionString[“ConnStr”].ConnectionString;获得数据库连接的一些配置信息,即“数据源”、“数据库名”、“用户名”、“密码”,将这些信息都保存在connStr中。
(2) SqlConnection conn= new SqlConnection(connStr);创建一个数据库连接对象conn,连接数据库用conn.Open();
(3) SqlCommand cmd= new SqlCommand(“Select* Form [表]”,conn);
或者string sql=“Select* From [表]”;
SqlCommand cmd= conn.CreateCommand();
cmd.CommandText= sql;这样就把访问数据库的SQL语句存到了cmd中
(4)建立SqlDataAdapter对象和DataSet对象
DataSet myDataSet= new DataSet();创建DataSet对象,
SqlDataAdapter myDataAdapter= new SqlDataAdapter(cmd);创建数据适配器对象。
(5)填充DataSet:myDataAdapter.Fill(myDataSet);其实SqlDataAdapter数据适配器起的就是一个连接数据库和数据集(DataSet)的桥梁作用,把对数据库操作的SQL语句得到的结果传到SqlDataAdapter对象中,在通过SqlDataAdapter.Fill(DataSet)方法,将结果填充到DataSet中。
第三种方法:用工厂方法
DbProviderFactory m_dbProviderFactory= DbProviderFactories.GetFacory(ConfigurationManager.ConnectionString[“ConStr”].ProviderName);//获取工厂
DbConnection conn= m_dbProviderFactory.CreateConncetion();//创建连接
DbCommand cmd= m_dbProviderFactory.CreateCommand();//创建命令
cmd.Connection= conn;
cmd.CommandText= strSql;
cmd.CommandType= CommandType.Text;
DbDataAdapter dapter= m_dbProviderFactory.CreateDataAdapter();//创建适配器
dapter.SelectCommand= cmd;
dapter.Fill(DataSet ds= new DataSet());//填充
return ds;
说明:
上面的语句中用ConfigurationManager.ConnectionString[“ConStr”].ProviderName获取了当前数据库的名称,因此可以适用于任何数据库,如果这样写,就是不同的数据库使用不同的语言:
SqlServer:DbProviderFactory factory= DbProviderFactories.GetFactory("System.Data.SqlClient");
Oracle:DbProviderFactory factory= DbProviderFactories.GetFactory("System.Data.OracleClient");
ODBC:DbProviderFactory factory= DbProviderFactories.GetFactory("System.Data.Odbc");
Access:DbProviderFactory factory= DbProviderFactories.GetFactory("System.Data.OleDb");
c#怎么连接数据库 用MySQL 详解
1、mysql官网下载.net连接器
2、引用下载后的mysql.data.dll
3、程序开始加:using MySql.Data.MySqlClient;
4、连接数据库:
privatevoidbutton1_Click(objectsender,EventArgse)//登入按钮
{
stringpower=comboBox1.Text.Trim();
stringuser=textBox1.Text.Trim();
stringpsd=textBox2.Text.Trim();
stringipaddress="";
stringmysqluser="";
stringmysqlpsd="";
if(user=="")
{
MessageBox.Show("请输入用户名");
}
elseif(psd=="")
{
MessageBox.Show("请输入密码");
}
else
{
try
{
try
{
string[]getconfig=File.ReadAllLines("E:/project/configure.txt",Encoding.GetEncoding("gb2312"));
ipaddress=getconfig[0].Split(':')[1];//读取ip地址
mysqluser=getconfig[1].Split(':')[1];//读取数据库账号
mysqlpsd=getconfig[2].Split(':')[1];//读取数据库密码
}
catch(Exception)
{
MessageBox.Show("配置文件丢失");
return;
}
stringquery="SETnamesgb2312;SELECTCOUNT(id)FROMfx_userWHEREname='"+user+"'ANDpassword=MD5('"+psd+"')ANDuserid='"+power+"'";
MySqlConnectioncn=newMySqlConnection("server="+ipaddress+";userid="+mysqluser+";Password="+mysqlpsd+";database=system;charset=gb2312");
cn.Open();
MySqlCommandcm=newMySqlCommand(query,cn);
MySqlDataReaderread=cm.ExecuteReader();//搜索满足用户名,密码,操作员的记录。
//如果记录没有-->密码或用户名错误
if(read.Read())//如果记录多余1条-->数据错误,联系管理员
{//只有一条记录则成功登入
intx=Int32.Parse(read[0].ToString());
if(x==0)
{
MessageBox.Show("用户名或密码错误");
}
elseif(x>1)
{
MessageBox.Show("用户冲突,请联系管理员");
}
elseif(x==1)
{
//MessageBox.Show("登入成功");
mainmf=newmain(power,ipaddress,mysqluser,mysqlpsd);//将操作员和IP地址传入主窗体
mf.Show();
this.Hide();
cn.Close();
}
}
}
catch(MySql.Data.MySqlClient.MySqlExceptionex)
{
switch(ex.Number)
{
case0:
MessageBox.Show("数据库连接失败1");
break;
case1045:
MessageBox.Show("数据库密码或用户名错误");
break;
default:
MessageBox.Show("数据库连接失败2");
break;
}
}
}
}
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!