积极答复者
用VB.net2005 在wince开发板上操作数据库时遇到问题!急。

问题
-
If Not File.Exists("\My Documents\glx.sdf") Then
Dim engine As New SqlCeEngine(connStr)
engine.CreateDatabase()‘(这边有时会报 SQL 创建数据库遇到问题,但重新上电开发板就好了!)
engine.Dispose()
conn.ConnectionString = "Data Source=\My Documents\glx.sdf"
conn.Open()’(打开数据库时,报未处理SqlCeException)
'Dim cmd As SqlCeCommand = conn.CreateCommand()
Dim cmd As New SqlCeCommand("CREATE TABLE GlxData(Time datetime ,NO1_motor nvarchar(20),NO2_motor nvarchar(20),NO3_motor nvarchar(20))", conn)
cmd.ExecuteNonQuery()
Dim cmd1 As New SqlCeCommand("CREATE TABLE ArmData(Time datetime ,TagName nvarchar(40),ArmPoint nvarchar(40),ArmMsg nvarchar(40))", conn)
cmd1.ExecuteNonQuery()
conn.Close()
cmd.Dispose()
cmd1.Dispose()
End If
以上程序是在Form1_Load里的,这里出现的问题是其一,
Private Sub WArmDate(ByVal TagName As String, ByVal Point As String, ByVal msg As String)
Dim conn As New SqlCeConnection()
Dim cmd1 As New SqlCeCommand("", conn)
conn.ConnectionString = "Data Source=\My Documents\glx.sdf"
conn.Open()'(这里经常会报:未处理SqlCeException 但是有时会能通过)
cmd1.CommandText = "INSERT INTO ArmData(Time, TagName, ArmPoint, ArmMsg) VALUES ('2009-12-11 13:22:45','glx','ssss','fdfdf')"
cmd1.ExecuteNonQuery()
cmd1.Dispose()
conn.Close()
conn.Dispose()
End Sub
以上程序是我要要向表里写数据。本来我是想把conn,cmd 都定全局变量的,可以经常报上面的错误,怕是几个地方都用的话,内存上有什么影响!所以定义了局部变量。
但是不知道为什么还报上面的错误!
很不能理解,可有时就能通过。
还请各位指教!
现在都停在这边了,急呀!
答案
-
我都关了呀?
我前天查出好像跟我内存有关。我把内存调了一下,好了,然后一天都很顺。到了第二天,我想把存储的数据库,放在U盘上,我只是改了一下路径,其它什么也没有改呀。
每次到创建数据库时就报错了
engine.CreateDatabase()‘(这边有时会报 SQL 创建数据库遇到问题)
这次,重新上电也没有用了,每次都报。
创建数据库的代码我是放在from_load里的呀。
可是我新建了一个工程,单独创建数据库,就OK!创建数据库代码是一样的。
很是不解!- 已标记为答案 Jiong ShiMVP, Moderator 2011年3月16日 7:10
全部回复
-
我都关了呀?
我前天查出好像跟我内存有关。我把内存调了一下,好了,然后一天都很顺。到了第二天,我想把存储的数据库,放在U盘上,我只是改了一下路径,其它什么也没有改呀。
每次到创建数据库时就报错了
engine.CreateDatabase()‘(这边有时会报 SQL 创建数据库遇到问题)
这次,重新上电也没有用了,每次都报。
创建数据库的代码我是放在from_load里的呀。
可是我新建了一个工程,单独创建数据库,就OK!创建数据库代码是一样的。
很是不解!- 已标记为答案 Jiong ShiMVP, Moderator 2011年3月16日 7:10