首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net wince sqlce,该怎么处理

2012-09-04 
vb.net wince sqlceVB.NET codeDim FileName As String Data Source \ResidentFlash\gui\Liu.sdfIf

vb.net wince sqlce

VB.NET code
Dim FileName As String = "Data Source = \ResidentFlash\gui\Liu.sdf"        If File.Exists("\ResidentFlash\gui\Liu.sdf") Then            Dim sqlEngine As New Data.SqlServerCe.SqlCeEngine(FileName)             ' Dim conn As New SqlCeConnection(FileName)            Dim conn As New SqlCeConnection("Data Source =\ResidentFlash\GUI\liu.sdf")            Dim cmd As New SqlCeCommand("", conn)            conn.Open()            DateOver = Microsoft.VisualBasic.Now            cmd.CommandText = " INSERT INTO LiuDate(样号,样重,水分,毫克,百分数,日期) VALUES ('" + YangHao + "','" + CStr(YangZhong) + "','" + CStr(ShuiFen) + "','" + CStr(Han(TestTime - 1)) + "','" + CStr(HanShu) + "','" + DateOver + "')"            cmd.ExecuteNonQuery()            conn.Close()        End If

这段代码是在wince5下,保存一组数据到liu.sdf内,第一次使用时正常保存,第二次开始就出错,期间重启设备,重写程序,都不行。
出错语句为:“conn.Open()”
请问有可能是哪方面的原因?


[解决办法]
在关闭掉连接的时候记得释放到文件,也就是调用文件的diaponse()方法
[解决办法]
看看微软的例子:

If File.Exists("Test.sdf") Then
File.Delete("Test.sdf")
End If 
Dim connStr As String = "Data Source = Test.sdf; Password = <password>"

Dim engine As New SqlCeEngine(connStr)
engine.CreateDatabase()
engine.Dispose()

Dim conn As SqlCeConnection = Nothing

Try
conn = New SqlCeConnection(connStr)
conn.Open()
 
Dim cmd As SqlCeCommand = conn.CreateCommand()
cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)"
cmd.ExecuteNonQuery()
Catch
Finally
conn.Close()
End Try

热点排行