Private cn As New SqlCeConnection("data source=\my documents\SQLCECF.sdf")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
If Not System.IO.File.Exists("\my documents\SQLCECF.sdf") Then
Dim en As New SqlCeEngine("data source=\my documents\SQLCECF.sdf")
en.CreateDatabase() '创建空数据库,用于订阅
Synch()
End If
Catch err As SqlCeException
ShowErrors(err)
Catch err As Exception
MsgBox("There was an error:" & err.ToString())
End Try
End Sub
Sub Synch()
Try
Dim rep As SqlCeReplication = New SqlCeReplication
With rep
.Publisher = "192.168.0.222"
.PublisherDatabase = "CFLab"
.PublisherLogin = "sa"
.PublisherPassword = "sa"
.Publication = "CFLab"
.Subscriber = "SQLCENETCF"
.SubscriberConnectionString = "Provider=Microsoft.SQLServer.OLEDB.CE.2.0;Data Source=\My Documents\SQLCECF.sdf"
.InternetUrl = "http://192.168.0.222/SQLCE/sscesa20.dll"
' Create the Local SSCE Database subscription
rep.AddSubscription(AddOption.CreateDatabase)
rep.Synchronize() '订阅
End With
Catch err As SqlCeException
ShowErrors(err)
Finally
End Try
End Sub
Public Sub ShowErrors(ByRef e As SqlCeException)
Dim errorCollection As SqlCeErrorCollection = e.Errors
Dim bld As System.Text.StringBuilder = New System.Text.StringBuilder
Dim inner As Exception = e.InnerException
If Not inner Is Nothing Then
MessageBox.Show(("Inner Exception:" & inner.ToString()))
End If
For Each err As SqlCeError In errorCollection
bld.Append("/n Error Code: " + err.HResult.ToString("X", System.Globalization.CultureInfo.CurrentCulture))
bld.Append("/n Message : " + err.Message)
bld.Append("/n Minor Err.: " + err.NativeError.ToString())
bld.Append("/n Source : " + err.Source)
For Each numPar As Int32 In err.NumericErrorParameters
If 0 <> numPar Then
bld.Append("/n Num. Par. : " + numPar.ToString())
End If
Next
For Each errPar As String In err.ErrorParameters
If String.Empty <> errPar Then
bld.Append("/n Err. Par. : " + errPar)
End If
Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click
connect()
Dim query As String = "select * from FlightData"
Dim dap As New SqlCeDataAdapter(query, cn)
Dim dataset1 As New DataSet
dap.Fill(dataset1, "FlightData")
Disconnect()
End Sub
Sub connect()
Synch()
Try
cn.Open()
Catch err As SqlCeException
ShowErrors(err)
End Try
End Sub
Sub Disconnect()
Try
cn.Close()
Catch err As SqlCeException
ShowErrors(err)
End Try
End Sub
Private Sub dgdResults_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgdResults.Click
End Sub
End Class
没加排错程序之前总是在fill出问题,加排错程序后,先后遇到这些错误,请高手帮助分析。
1.Error Code:80040E14
Message:There was an error parsing the query.
Token line number,token line offset,token in error
2.Minor Err:25501
Source:Microsoft SQL Server 2000 Windows CE Edition
Error Code:80040E37
Message:The specified table does not exist