Mark Cooray


Dear All

Please advice how I could Make relationships in SQL server Mobile. as the Relationship diagram is not available

Thankx





Re: SQL Server Mobile

William Vaughn


Mark, Your're right. The Database Diagram tool in the Server and Object explorers do not work with SQLCe databases. While you can create relationships using SQL statements, you might simply want to create a new Data Source in VS and add several related TableAdapters. The relationship tool in the TableAdapter Configuration Wizard does work. I describe how this is done in my EBook. See www.hitchhikerguides.net.

hth







Re: SQL Server Mobile

BrianSquibb

Here is a simple code example using Northwind.sdf

Dim cn As New SqlServerCe.SqlCeConnection("datasource=northwind.sdf")
Dim cmdOrders As SqlServerCe.SqlCeCommand
Dim cmdOrderDetails As SqlServerCe.SqlCeCommand

' required for relationship
Dim columnParent As DataColumn
Dim columnChild As DataColumn
Dim relation As DataRelation

' create dataset with 2 tables
cn.Open()
cmdOrders = cn.CreateCommand
cmdOrders.CommandText = "SELECT * from orders"

Dim daOrders As New SqlServerCe.SqlCeDataAdapter(cmdOrders)
Dim dtOrders As New Data.DataTable("Orders")
daOrders.Fill(dtOrders)

cmdOrderDetails = cn.CreateCommand
cmdOrderDetails.CommandText = "SELECT * from orderdetails"

Dim dtOrderDetails As New Data.DataTable("OrderDetails")
Dim daOrderDetails As New SqlServerCe.SqlCeDataAdapter(cmdOrderDetails)
daOrderDetails.Fill(dtOrderDetails)

Dim ds As New DataSet
ds.Tables.Add(dtOrders)
ds.Tables.Add(dtOrderDetails)

'now add relationship with constraints
columnParent = dtOrders.Columns("OrderID")
columnChild = dtOrderDetails.Columns("OrderID")
relation = New DataRelation("orders", columnParent, columnChild, True)