一、數據庫對象
數據庫對象包含表。查询、表单、报表、网页、宏和模块等
1) 表
由一列或多列和一行或多行的数据组成。在Microsoft Access中列通常称为字段,表示数据中的一个属性;行称为记录。
2) 查詢
是一组SQL语句,对表中的数据进行检索和更新。查询对像是SQL Server中视图和存储过程的组合。
二、SQL 語法
SELECT select-list
FROM table-name
[WHERE search-condition]
[ORDER BY order-by-expression [ASC|DESC]]
三、 數據綁定
Add方法的語法:
object.DataBindings.Add(propertyname,datasource,datamember)
1、 object 表示窗體上的有效控件。
2、 propertyname表示被綁定控件屬性
3、 datasource 表示被綁定的數據源,可以使任何包含數據的有效對象,如DataSet、DataView等
4、 datamember 表示被綁定給控件的數據源的數據字段
四、ADO.NET數據命名空間中的類
1、SqlConnection 提供了與SQL Server 數據庫的連接
1.1) 定義并初始化連接
<!-- lang: vb -->
Dim objConnection as SqlConnection
objConnection = New SqlConnection(“Server=loclhost;Database= pubs;”& “User
1.2)打開與關閉連接
<!-- lang: vb -->
objConnection.Open()
••••
objConnection.Close()
2、 SqlCommand
表示執行數據存儲的一個SQL命令,通常為:選取、插入、更新、或者刪除命令;也可以表示為SQL字符串或春初過程。
2.1)Connection 屬性
用于在執行命令式打開連接
<!-- lang: vb -->
objCommand.Connection= objConnection
2.2)CommandText屬性
指定要執行的SQL語句或存儲過程。將所有字符串的值放在單引號中
<!-- lang: vb -->
objCommand.CommandText= “ INSERT INTO authors ” & “VALUES(‘123-45-6789’,’Barnes’,’David’,1) ”
上列說明INSERT語句在SQL中的基本工作方式:
行插入到authors中,在au_id列中放入123-45-6789,在au_lname和au_fname中放入名字,在contract列中放入1
2.3)Parameters集合
給命令添加參數的方法:
<!-- lang: vb -->
objCommand.CommandText= “ INSERT INTO authors ” & “(au_id,au_lname,au_fname,contract)” & _“VALUES(@au_id,@au_lname,@au_fname,@au_contract)”
objCommand.Parameters.AddWithValue(“@au_id”,txtAuId.Text)
objCommand.Parameters.AddWithValue(“@au_lname”,txtLastName.Text)
objCommand.Parameters.AddWithValue(“@au_fname”,txtFirstName.Text)
objCommand.Parameters.AddWithValue(“@au_contract”,chkContract.Checked)
2.4)ExecuteNonQuery方法
<!-- lang: vb -->
<!-- lang: vb -->
objConnection.Open()
objCommand.ExectuteNonQuery()
objConnection.Close()
3、SqlDataAdapter
3.1)SelectCommand屬性
用於把sql Server數據庫中的數據填充到DataSet中,其屬性如下:
1)、Connection: 設置用來數據存儲的SqlConnection 對象。
2)、 CommandText :設置用來選取數據的SQL語句或存儲過程名稱。
3.2)把SelectCommand設置為SQL字符串
<!-- lang: vb -->
Dim objDataAdapter as new SqlDataAdpter()
objDataAdapter.SelectCommand= new sqlcommand()
objDataAdapter.SelectCommand.Connection= objconnection
objDataAdapter.SelectCommand.CommandText= “SELECT au_lname,au_fname FORM authors” & _“ORDER BY au_lname,au_fname”
3.3) 把SelectCommand 設置為存儲過程
<!-- lang: vb -->
Dim objDataAdapter as new SqlDataAdpter()
objDataAdapter.SelectCommand= new sqlcommand()
objDataAdapter.SelectCommand.Connection= objconnection
objDataAdapter.SelectCommand.CommandText= “usp_select_authors_titles”
objDataAdapter.SelectCommand.CommandType= commandtype.StoredProcedure
3.4)Fill方法
<!-- lang: vb -->
SqlDataAdapter.Fill(DataSet,String)
DataSet參數指定要用數據填充的有效DataSet對象,string參數指定DataSet中包含的表的名稱,,可以指定多個表
4、DataView
1、概念
一般用於從DataSet中排序、過濾、查找、編輯和導航數據。下面一行代碼使用objDataSet的DataSet對象中的authors表對DataView初始化。
<!-- lang: vb -->
Dim objDataView = New DataView(objDataSet.Tables(“authors”))
2、屬性
2.1)Sort 屬性
DataView中的數據排序,默認的順序為升序即:
<!-- lang: vb -->
objDataView.Sort = “au_fname,au_lname”
降序為:
<!-- lang: vb -->
objDataView.Sort = “au_fname,au_lname DESC”
2.2)RowFilter 屬性
在初始化DataView時,可以過濾它所包含的數據行:只有滿足條件的行會留在視圖中,但底層的數據部會受影響。 該屬性指定了應用於DataView的條件,該條件至少包含一個列名、一個運算符和值,如果值是一個字符串,必須包括在單引號中
用法1:
<!-- lang: vb -->
objDataView = New DataView(objDataSet.Tables(“authors”))
objDataView.RowFilter = “au_lanme=’ Green’ ”
用法2:
<!-- lang: vb -->
objDataView.RowFilter = “au_lanme<>’ Green’
用法3:
<!-- lang: vb -->
objDataView.RowFilter = “au_lanme=’ Green’ AND au_fname LIKE ‘D*’ ”
3.Find 方法
1.在DataView中搜索指定的數據行, 在調用Find方法之前,首先對DataView所包含的數據排序
以查找名字為Ann的作者為例:
<!-- lang: vb -->
Dim intPosition As Integer
objDataView.Sort= “au_fname”
intPosition = objDataView.Find(“Ann”)
當DataView儲存多個列時,假如排序,就要飛Find方法提供一個組值。
以查找Simon Watts為例
Dim intPosition as Integer
Dim arrValues(1) as object
ObjDataView.Sort=”au_fname,au_lname”
arrValues(0)= “ Simon”
arrValues(1)= “ Watts”
intPosition = objDataView.Find(arrValues)