Vra

Visual Studio 2005 nie 'n koppelvlak vir die skep van verhoudings tussen tafels in 'n SQL Server CE-databasis (Ek gebruik weergawe 3.0) en jy kan nie maak 'n Compact Edition DB behulp Management Studio sover ek weet. Enige idees?

Was dit nuttig?

Oplossing

Ongelukkig is daar tans geen ontwerper ondersteuning (in teenstelling met vir SQL Server 2005) vir die bou van verhoudings tussen tafels in SQL Server CE. Om verhoudings te bou wat jy nodig het om SQL opdragte gebruik soos:

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

As jy doen CE ontwikkeling, sou ek hierdie vrae raai:

wysig :. In Visual Studio 2008 is dit nou moontlik om te doen in die GUI deur regs te klik op jou tafel

Ander wenke

Visual Studio 2008 nie het 'n ontwerper wat jou toelaat om SK se voeg. Net regs-kliek die tafel ... Table Properties, dan gaan jy na die artikel "Betrekkinge Voeg".

Jy moet 'n navraag te skep (in Visual Studio, regs-kliek op die DB verbinding -> New Query) en uit te voer die volgende SQL:

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

Om te verifieer dat jou vreemde sleutel is geskep, uit te voer die volgende SQL:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

Krediet aan E Jensen ( http://forums.microsoft.com /MSDN/ShowPost.aspx?PostID=532377&SiteID=1 )

Alan is korrek wanneer hy sê daar is ontwerper ondersteuning. Rhywun is verkeerd toe hy impliseer jy kan die vreemde sleutel tafel nie kies. Wat hy bedoel is dat in die UI die vreemde sleutel tafel drop down is grys -. Al wat beteken is hy nie reg het op die korrekte tabel om die vreemde sleutel te voeg

In opsomming, regs kliek op die foriegn sleutel tafel en dan via die "Table Properties '>' Voeg Betrekkinge 'n opsie wat jy die verwante primêre sleutel tafel te kies.

Ek het dit verskeie kere gedoen en dit werk.

Walk: Die skep van 'n SQL Server Compact 3.5 databasis

Om 'n verhouding tussen die tafels geskep in die vorige proses te skep

  1. In Server Explorer / Database Explorer, uit te brei tabelle.
  2. Regs-kliek op die Bestellings tafel en klik Table Properties.
  3. Klik Voeg Betrekkinge.
  4. Tipe FK_Orders_Customers in die boks Betrokkenheid Naam.
  5. Kies KlantID in die buitelandse Sleutel Table kolom lys.
  6. Klik kolomme Voeg.
  7. Klik Betrokkenheid by.
  8. Klik OK om die proses te voltooi en die skep van die verhouding in die databasis.
  9. Klik weer OK om die dialoog Table Properties sluit.
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

Ons moet 'n primêre sleutel vir vreemde sleutel of verhouding tussen twee of meer tafel te skep.

Ek weet dit is 'n "baie lang tyd" sedert hierdie vraag vir die eerste keer gevra. Net in geval, as dit help iemand,

Voeg verhoudings is goed ondersteun deur MS via SQL Server Compact Tool Box ( https://sqlcetoolbox.codeplex.com/ ). Net installeer dit, dan sal jy die opsie om aan te sluit op die Compact databasis met behulp van die Explorer venster Server kry. Regskliek op die primêre tafel, kies "Table Properties". Jy moet die volgende venster, wat bevat "Voeg Betrekkinge" blad sodat jy verhoudings te voeg nie.

Voeg Betrekkinge Tab - SQL Server Compact Tool Box

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top