ADO.net的學習


                   嘿嘿,又到了總結了的時間,今天我們學習了ADO.net,什么是ADO.NET:ADO.NET就是一組類庫,這組類庫可以讓我們通過程序的方式訪問數據庫,就像System.IO下的類操作文件一樣, System.Data.這組類是用來操作數據庫(不光是MSSql Server),它提供了統一的編程接口讓操作其它數據庫(Access、Oracle等)的方式和操作MSSql Server一致。下面就簡單的總結下啦,

            一.通過在VS中的簡單方法插入數據

class Program
    {
        static void Main(string[] args)
        {
            string sqlconn = "Data Source=.;Initial Catalog=claa;Integrated Security=True";  
            using (SqlConnection sqlcon = new SqlConnection(sqlconn))
            {
                sqlcon.Open();
                string text = "Insert into Class values('李四','我很快樂')";
                using (SqlCommand conn = new SqlCommand(text,sqlcon))
                {
                   int number= conn.ExecuteNonQuery();
                   if (number > 0)
                   {
                       Console.WriteLine("成功");
                   }
                   else
                   {
                       Console.WriteLine("失敗");
                   }
                   Console.ReadKey(); 
                }
            }
        }
    }

 

            二.通過在VS中的簡單方法刪除數據

class Program
    {
        static void Main(string[] args)
        {
            string constr = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
            using (SqlConnection con = new SqlConnection(constr))
            {
                con.Open();
                string sql = "delete from Class where Class.cName='李四'";
                using (SqlCommand conn = new SqlCommand(sql, con))
                {
                  int i= conn.ExecuteNonQuery();
                  if (i > 0)
                  {
                      Console.WriteLine("成功");
                  }
                  else
                  {
                      Console.WriteLine("失敗");
                  }
                }
                Console.ReadKey();
            }
        }
    }

 

            三.通過在VS中的簡單方法更新數據

class Program
    {
        static void Main(string[] args)
        {

            string connectionString = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True";
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                conn.Open();

                string commandText = "Update Class set  cName=‘張三’  where id=2 ";
                using (SqlCommand cmd = new SqlCommand(commandText,conn))
                {
                  int num=  cmd.ExecuteNonQuery();

                  if (num > 0)
                  {
                      Console.WriteLine("修改成功");
                  }
                  else
                  {
                      Console.WriteLine("修改失敗");
                  }

                }
                Console.ReadKey();
            }
        }
    }

 

            四.通過在VS中的簡單方法查詢數據

            1. 創建一個winform窗體,在窗體上面拖拉一個控件dataGridView,然后實現其代碼如下:

 private void Form1_Load(object sender, EventArgs e)
        {
            string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
            using (SqlConnection conn = new SqlConnection(connection))
            {
                conn.Open();
                string sql = "select * from log";
                using (SqlCommand cmd = new SqlCommand(sql,conn))
                {
                    //DataTable dt = new DataTable();        //當讀取的表為一張表的時間,可以選擇使用DataTable
                    //using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                    //{

                    //    sda.Fill(dt);
                    //    this.dataGridView1.DataSource = dt;
                    //}
                    DataSet ds = new DataSet();               //使用DataSet讀取數據集
                    using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                    {
                        sda.Fill(ds);
                        this.dataGridView1.DataSource = ds.Tables[0];
                    }
                }
            }
        }

 

                     數據庫中的表的信息就會顯示在界面上面,如下代碼所示為:

                 

 

            2.創建一個簡單的登陸界面,登陸界面設計如下:

            

           代碼如下:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string name=this.textBox1.Text;
            string pwd = this.textBox2.Text;
            string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
            using (SqlConnection conn=new SqlConnection(connection))
            {
                conn.Open();
                string sql = "select Name,Pwd from Log where Name =@name and Pwd =@pwd";
                SqlParameter sp = new SqlParameter("@name",name);
                SqlParameter sp1 = new SqlParameter("@pwd", pwd);
                using(SqlCommand cmd=new SqlCommand (sql,conn))
                {
                    cmd.Parameters.Add(sp);
                    cmd.Parameters.Add(sp1);
                    DataTable table = new DataTable();
                    using (SqlDataAdapter sqd = new SqlDataAdapter(cmd))
                    {
                        sqd.Fill(table);
                        if (table.Rows.Count > 0)
                        {
                            MessageBox.Show("成功");
                        }
                        else
                        {
                            MessageBox.Show("失敗");
                        }
                    }
                }
            }
        }
    }

                   結果如下所示

                  

 

                  。綜上  

—                  1.數據提供程序(常用類)
                 Connection:用來連接數據庫
                 Command:用來執行SQL語句
                 DataReader:只讀、只進的結果集,一條一條讀取數據(StreamReader、XmlReader微軟的類庫中這些Reader的使用方式都差不多)
                 DataAdapter,一個封裝了上面3個對象的對象
                 —數據集(DataSet)
            2.訪問數據庫的方式有兩種
—                 方式一:1.連接數據用Connection;執行SQL語句Command;執行完畢之后將結果一條一條返回。DataReader
                 方式二:使用DataAdapter+DataSet,這種方法本質還是通過Connection、Command、DataReader將數據全部取出來然后放到了DataSet中
                   3.SqlCommand常用的方法
                 ExecuteNonQuery() 執行對數據庫的增刪改,返回受影響的行數,適合:insert、delete、update(對於其他語句返回-1)
                 ExecuteScalar()  執行查詢,返回首行首列
                 ExecuteReader() 執行查詢,返回DataReader對象
                   好啦,就總結到這里啦,今天學習的方法好多都是之前沒有用過的啦,似乎接觸的東西沒有那么多啦,但是我們使用起來卻是比較困難的啦,所以這個要多練習啦,嘿嘿。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM