Ado.Net连接数据库的两种方式

一.使用Command和DataReader对象:

(1).首先连接数据库有两种模式:

1.混合连接模式 该模式需要输入登录名和密码

代码如下:

string Myconnection ="server=服务器名称(如果是本地也可以用.来代替);database=连接的数据库名称;";uid=登录名;pwd=密码";

SqlConnection conn=new SqlConnection(Myconnection);

2.Window连接模式 该模式必须将Trusted_connection=true

string Myconnection="server=服务器名称;database=连接的数据库名称;Trusted_connection=true";

SqlConnection conn=new SqlConnection(Myconnection);

(2).调用Connection对象的Open方法打开连接

(3).连接数据源(指的是连接到具体的数据库文件中)有两种方式

1.通过Command对象和DataReader对象

2.通过DataSet对象和DataAdapter对象(适用于经常更改数据库)

(4).从数据源读取数据

(5).调用Command对象的Close方法关闭连接

二.下面是两种连接数据源方法的代码:

(Command对象和DataReader对象)此方法需要引用using System.Data.SqlClient命名空间

string StrSql = "server=.;database=BookDB;trusted_connection=true"; SqlConnection conn = new SqlConnection(StrSql); SqlCommand com = new SqlCommand();

//封装连接数据源的方法 ADOCRUDByCommend(conn, com);

//使用try catch finally catch可以将Try代码块的错误捕捉,而且使用该方法的好处是try中的代码无论是否出错都可以编译,如果代码出错catch将会显示出错,最后执行finally中的语句。

try { conn.Open();

//数据库中的CRUD(增删查改)操作语句 string Sqlstr = "select * from Table1"; //string Sqlstr = "insert into Table1 values(05,005,0005,0005)"; //string Sqlstr = "delete from Table1 where date=01"; //string Sqlstr = "update Table1 set English=00001 where English=1 "; com.Connection = conn; com.CommandText = Sqlstr;

//实例化一个读取数据的对象(由于DataReader是抽象类 不能直接实例化,因此要通过Command对象的ExcuteReader方法返回DataReader实例) SqlDataReader Mydatrder = com.ExecuteReader();

//Read()方法是用来移动记录指针到下一行 while (Mydatrder.Read()) { string date = Mydatrder["date"].ToString(); string china = Mydatrder["china"].ToString(); string math = Mydatrder["math"].ToString(); string English = Mydatrder["English"].ToString();

//将查询结果输出 Console.WriteLine("{0},{1},{2},{3}", date, china, math, English); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); Console.ReadKey(); }

(DataSet对象和DataAdapter对象)此方法需要引用using System.Data.SqlClient和 using System.Data命名空间

string Cstring = "server=.;database=BookDB;trusted_connection=true"; //定义Myconn对象连接数据库 SqlConnection Myconn = new SqlConnection(Cstring);

//数据库中的CRUD语句 //string Sql = "select * from Table1 where date=01"; //string Sql = "insert into Table1 values(06,006,0006,00006)"; //string Sql = "update Table1 set date=07 where date=06"; string Sql = "delete Table1 where date=07"; //定义DataSet对象存储数据 System.Data.DataSet MyDataSet = new System.Data.DataSet(); SqlDataAdapter MyDataAdapter = new SqlDataAdapter(Sql,Myconn); //调用Fill()方法将数据填充到DataSet中 MyDataAdapter.Fill(MyDataSet); //调用Connection中open()打开连接 Myconn.Open();

//读取符合条件的数据 foreach (DataTable table in MyDataSet.Tables) { foreach (DataRow row in table.Rows) { foreach (object field in row.ItemArray) { Console.Write(field); } //相应的行处理 Console.WriteLine(row); } //相应的表处理 Console.WriteLine(table); } //Console.WriteLine(MyDataSet.Tables[0].Rows[0][2]); Console.ReadKey(); Myconn.Close();

经验分享 程序员 微信小程序 职场和发展