本文實例講述了ASP.NET連接數據庫并獲取數據方法。,具體如下:
*連接對象的用法SqlConnection,SqlCommand,SqlDataAdapter
*數據訪問方式的寫法
1.獲取數據:
//引用這兩個命名空間using System.Data.SqlClient;using System.Data;// 初始化連接對象SqlConnection conn = new SqlConnection();conn.ConnectionString = "User ID=sa;Initial Catalog=DataBaseName;Data Source= (local);Password=111111";// 打開連接if (conn.State == ConnectionState.Closed){ conn.Open();}// 初始化命令SqlCommand cmd = new SqlCommand();cmd.Connection = conn;cmd.CommandType = CommandType.Text;cmd.CommandText = "sql語句";// 用于執行數據插入、更新和刪除的操作;返回被影響的行數。int i = cmd.ExecuteNonQuery();if(i>0){MessageBox.Show("操作成功");}// 用于查詢最大值等只需返回一條數據情況下的操作;返回的是首行第一列的數據。object obj = cmd.ExecuteScalar();// 如果想獲取數據集合的話我們經常使用到的是數據適配器DataTable dt = new DataTable();SqlDataAdapter adapter = new SqlDataAdapter();adapter.SelectCommand = cmd;adapter.Fill(dt);2.把數據綁定到數據控件
string str = "Data Source=.;Initial Catalog=GridView;User ID=sa;Password=111111";string sql = "select * from UserName";SqlConnection conn = new SqlConnection(str);//conn.Open(); 使用 SqlDataAdapter(數據適配器)不用寫//SqlCommand comm = new SqlCommand(sql, conn);//SqlDataAdapter dr = new SqlDataAdapter(comm);SqlDataAdapter dr = new SqlDataAdapter(sql,conn);//上面兩句可以合并成這一DataSet ds = new DataSet();//創建數據集;dr.Fill(ds); //填充數據集this.GridView1.DataSource = ds;this.GridView1.DataBind();//講數據源綁定到控件上,//conn.Close(); 關閉數據庫連接if (conn.State==ConnectionState.Open) //判斷數據庫連接狀態,是否連接{conn.Close();}3.使用SqlDataReader:
若要創建 SqlDataReader,必須調用 SqlCommand 對象的 ExecuteReader 方法,而不要直接使用構造函數。
string str = "Data Source=.;Initial Catalog=GridView;User ID=sa;Password=111111";string sql = "select * from UserName";SqlConnection conn = new SqlConnection(str);conn.Open();SqlCommand comm = new SqlCommand(sql, conn);DataSet ds = new DataSet();SqlDataReader dr = comm.ExecuteReader();if (dr.Read()){ //下面兩種都可以獲得數據 //this.TextBox1.Text = dr.GetString(1); //this.TextBox2.Text = dr.GetInt32(3).ToString(); this.TextBox1.Text = dr.GetString(dr.GetOrdinal("Name")); this.TextBox2.Text = dr.GetInt32(dr.GetOrdinal("Age")).ToString();}//循環輸出while (dr.Read()){ Response.Write(dr["Name"]); Response.Write(dr["Age"]); Response.Write("<br/>");}dr.Close();if (conn.State == ConnectionState.Open){ conn.Close();}SqlDataReader:提供一種從 SQL Server 數據庫讀取行的只進流的方式
新聞熱點
疑難解答
圖片精選