มีวิธีการไหนบ้างครับ ที่สามารถให้ Windows CE ติดต่อกับฐานข้อมูล SQL Server ได้บ้างครับ โดยจะใช้ VB.net ในการเขียน Code ครับ
ผมได้ลอง เขียน Code โดยตรงเพื่อติดต่อกับฐานข้อมูล แต่ก็ขึ้น [font=Verdana]error ตามนี้ครับ login failed for user ' '. the user is not associated with a trusted sql server connection[/font]
Code (VB.NET)
Imports System.Data
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Data.SqlServerCe
Public Class Form1
' Private conStr As String = "Data Source=192.168.0.188,1433;Initial Catalog=dbEmployee;Integrated Security=True;uid=sa; pwd=******; "
Private conStr As String = "Data Source=192.168.X.XX;Initial Catalog=iERP81_T1;Integrated Security=True;uid=sa; pwd=******; "
Private mycon As SqlConnection
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
mycon = New SqlConnection(conStr)
If mycon.State = ConnectionState.Closed Then
mycon.Open()
End If
' Catch ex As Exception
' MsgBox("Invalid connectionString")
Catch ex As SqlException
Dim l_sqlerr As SqlError
For Each l_sqlerr In ex.Errors
MsgBox(l_sqlerr.Message)
Next
End Try
End Sub
Sub template()
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Try
With cmd
.Connection = mycon
.CommandType = CommandType.Text
.CommandText = ""
End With
da.SelectCommand = cmd
da.Fill(ds, "")
Catch exsql As SqlException
MsgBox(exsql.Message, MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub ShowDetail()
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
'Dim dr As New SqlDataReader
Try
With cmd
.Connection = mycon
.CommandType = CommandType.Text
'.CommandText = "select top 1 * from employee order by newid()"
' .CommandText = "select itc_id from itc"
.CommandText = "select IMA_ItemID from Item"
End With
da.SelectCommand = cmd
da.Fill(ds, "Show") 'Keep data to Dataset
dgShow.DataSource = ds.Tables("Show")
Catch exsql As SqlException
MsgBox(exsql.Message, MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click
ShowDetail()
End Sub
End Class
file or assembly name 'system.data.sqlclient, version=3.0.3600.0, Culture=neutral, Publickeytoken=3be235df1c8d2ad3', or one of its dependencies, was not found.
พอดีผมได้ซื้อ Borad ARM 11 มา ให้เจ้า Board ARM 11 (mini6410) นี้ เขาได้ลง Windows CE ไว้ แต่เมื่อเราปิดเครื่องแล้วเปิดใหม่ข้อมูลที่เราเก็บไว้ถ้าเราไม่ได้นำไปไว้ ที่ Nanflash ข้อมูลก็จะหาย ครับ
Board ARM สามารถดูข้อมูลเพิ่มเติมได้ที่ http://www.thaieasyelec.com/index.php?lay=show&ac=webboard&WBntype=3
Imports System.Data
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Data.SqlServerCe
Public Class Form1
Private conStr As String = "server=192.168.0.23;uid=sa;pwd=xxxx;database=xxxx;"
Private mycon As SqlConnection
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
mycon = New SqlConnection(conStr)
If mycon.State = ConnectionState.Closed Then
mycon.Open()
End If
' Catch ex As Exception
' MsgBox("Invalid connectionString")
Catch ex As SqlException
Dim l_sqlerr As SqlError
For Each l_sqlerr In ex.Errors
MsgBox(l_sqlerr.Message)
Next
End Try
End Sub
Sub template()
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Try
With cmd
.Connection = mycon
.CommandType = CommandType.Text
.CommandText = ""
End With
da.SelectCommand = cmd
da.Fill(ds, "")
Catch exsql As SqlException
MsgBox(exsql.Message, MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub ShowDetail()
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim ds As New DataSet
'Dim dr As New SqlDataReader
Try
With cmd
.Connection = mycon
.CommandType = CommandType.Text
'.CommandText = "select top 1 * from employee order by newid()"
' .CommandText = "select itc_id from itc"
.CommandText = "select * from Tape"
End With
da.SelectCommand = cmd
da.Fill(ds, "Show") 'Keep data to Dataset
dgShow.DataSource = ds.Tables("Show")
Catch exsql As SqlException
MsgBox(exsql.Message, MsgBoxStyle.Exclamation)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click
ShowDetail()
End Sub
End Class
ด้านบน เป็น Code โชว์ข้อมูลธรรมดา เมื่อเรา connect sqlServer2005 เมื่อผมลองรันที่ตัว Board ARM 11 รันได้ปกติ แต่ใน Pocket PC 2003 SE Emulator ยังไม่เคยลองครับ เดี๋ยวผมจะลองดูเหมือนกัน เดี๋ยวคุณ TEXT ลองดู ว่า Code ของผมเหมือนคุณ TEXT หรือเปล่า
ถ้าได้ยังไงรบกวนแจ้งด้วยครับ