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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JCDYN1219/article/details/79195005

一.使用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();

                                                                                                                                                           



展开阅读全文

没有更多推荐了,返回首页