Comment voulez-vous créer une relation de clé étrangère SQL Server CE (Compact Edition) de la Base de données?

StackOverflow https://stackoverflow.com/questions/46827

Question

Visual Studio 2005 n'est pas de fournir une interface pour la création des relations entre les tables dans une base de données SQL Server CE (j'utilise la version 3.0) et vous ne pouvez pas ouvrir un Compact Edition DB à l'aide de Management Studio pour autant que je sais.Des idées?

Était-ce utile?

La solution

Malheureusement, il n'existe actuellement pas de prise en charge du concepteur (contrairement à SQL Server 2005) pour l'établissement de relations entre les tables dans SQL Server CE.Pour construire des relations, vous devez utiliser les commandes SQL telles que:

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

Si vous faites CE développement, je conseille cette FAQ:

MODIFIER:Dans Visual Studio 2008, cela est maintenant possible de le faire dans l'interface utilisateur par un clic droit sur votre table.

Autres conseils

Visual Studio 2008 n' avoir un concepteur qui vous permet d'ajouter FK est.Il suffit de cliquer droit sur la table...Les Propriétés de la Table, puis sélectionnez "Ajouter des Relations" section.

Vous devez créer une requête (dans Visual Studio, cliquez-droit sur la connexion DB -> Nouvelle Requête) et d'exécuter la requête SQL suivante:

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE

Pour vérifier que votre clé étrangère a été créé, exécutez l'instruction SQL suivante:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

De crédit à l'E de Jensen (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

Alan a raison quand il dit qu'il y a prise en charge du concepteur.Rhywun est incorrect lorsqu'il implique que vous ne pouvez pas choisir la clé étrangère de la table.Ce qu'il veut dire, c'est que dans l'INTERFACE utilisateur de la clé étrangère de la table déroulant s'affiche en grisé - tout cela signifie, c'est qu'il n'a pas cliqué avec le bouton droit sur la table appropriée pour ajouter la clé étrangère pour.

En résumé, clic droit sur le foriegn clé de la table, puis via les 'Propriétés du Tableau' > 'Ajouter des Relations' option que vous sélectionnez la clé primaire de la table.

J'ai fait de nombreuses fois et il fonctionne.

Procédure pas à pas:La création d'un Serveur SQL server Compact 3.5 Base de données

Pour créer une relation entre les tables créées dans la procédure précédente

  1. Dans l'Explorateur de serveurs/Explorateur de Base de données, développez Tables.
  2. Cliquez-droit sur la table Commandes, puis cliquez sur Propriétés du Tableau.
  3. Cliquez Sur Ajouter Des Relations.
  4. Type FK_Orders_Customers dans le Nom de la Relation de la boîte.
  5. Sélectionnez le code client dans la Clé Étrangère de la Table liste des Colonnes.
  6. Cliquez Sur Ajouter Des Colonnes.
  7. Cliquez Sur Ajouter Des Relations.
  8. Cliquez sur OK pour terminer le processus et de créer de la relation dans le la base de données.
  9. Cliquez de nouveau sur OK pour fermer la boîte de dialogue Propriétés.
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

Nous devrions avoir une clé primaire pour créer la clé étrangère ou d'une relation entre deux ou plusieurs tables .

Je sais que c'est un "très longtemps" depuis que cette question est posée.Juste au cas où, si ça aide quelqu'un,

Ajout de relations est bien pris en charge par MS via SQL Server Compact Boîte à outils (https://sqlcetoolbox.codeplex.com/).Il suffit de l'installer, vous devez obtenir la possibilité de se connecter à la Base de données plus Compacte à l'aide de la Fenêtre Explorateur de serveurs.Clic droit sur la table principale , sélectionnez "Propriétés du Tableau".Vous devriez avoir la fenêtre suivante, qui contient des "Ajouter des Relations" onglet vous permettant d'ajouter des relations.

Add Relations Tab - SQL Server Compact Tool Box

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top