用于嵌入式设备开发的数据库Sqlce的数据读取过程与用于电脑上的sql的读取过程是相似的,都是经过以下几步:
1、建立数据连接;
2、对数据进行查询得到结果集;
3、读取结果集进行数据处理。
Sqlce是通过SqlCeConnection建立一个本地文件的SQLCE连接,在建立数据库连接成功以后,通过SqlCeConnection建立SqlCeCommand对象,通过向SqlCeCommand赋予sql语句实现对数据库记录的查询。在这里一般采用的两种数据记录集读取方式:SqlCeDataReader和SqlCeDataAdapter。
在下文程序中,我将分别进行描述。
建立数据库连接:
- cn = New SqlCeConnection("Data Source=\My Documents\hycrm.sdf")
cn.Open()‘根据查询得到的记录集进行逐条的处理分析。
在这种情况下一般采用SqlCeDataReader进行数据读取:
- Try Dim cmd As SqlCeCommand = cn.CreateCommand
- cmd.CommandText = "select CreateDate from CorporationInfo group by CreateDate order by CreateDate"
- Dim reader As SqlCeDataReader
- reader = cmd.ExecuteReader
- Do While reader.Read
- If Trim(Str(Year(reader.Item("CreateDate")))) <> m_szYear Then
- TempStr = Trim(Str(Year(reader.Item("CreateDate")))) + "年度备案表"
- nodX = node.Nodes.Add(TempStr) SearchZh(Trim(Str(Year(reader.Item("CreateDate")))), nodX)
- m_szYear = Trim(Str(Year(reader.Item("CreateDate"))))
- End If
- Loop
- reader.Close()
- Catch sqlex As SqlCeException
- Dim sqlError As SqlCeError For Each sqlError In sqlex.Errors
- MessageBox.Show(sqlError.Message)
- Next Catch ex As Exception
- MessageBox.Show(ex.Message)
- Finally
- End Try‘
当需要将查询得到的记录集在DateGrid上进行显示的时候,就需要使用SqlCeDataAdapter对数据进行批量读取,程序如下:
- Dim sqlstr As String
- Dim cmd As New SqlCeCommand
- Dim ds As New Data
- Set 'cn = New SqlCeConnection("\My Documents\hycrm.sdf")
- 'cn.Open() sqlstr = "select * from CorporationInfo”
- cmd = cn.CreateCommand
- cmd.CommandText = sqlstr Dim da As New SqlCeDataAdapter(cmd)
- da.Fill(ds)
Sqlce读取数据的过程就介绍到这里,谢谢大家!
【编辑推荐】