2010-12-03 12 views
0

Ich habe diese drei TabellenFetching Spalte Daten aus einer Tabelle

Ques Tabelle

Ques |Ans   |QuesID|LangID 
__________________________________________ 
Ques1|Ques1's Answer|1  |1 
Ques2|Ques2's Answer|2  |2 

LangID ist ein Fremdschlüssel, LangID in Tabelle Sprachen

Sprachen Tabelle

Referenzen
LangID   |Description|LanguageID 
______________________________________ 
1    |French  |1 
2    |English |2 

Sprache Tabelle ist für die Sprache Inhalte der Website

EditorLanguage Tisch

LanguageID|Value|Desc 
______________________ 
1   |fr-FR|French 
2   |en-US|English US 

EditorLanguage Tabelle ist für RadEditor Sprache des

Wenn ein neuer Ques hinzugefügt wird: -

Die InsertUpdateQues Stored Prozedur fügt die folgenden Werte in die Quesentabelle ein: -

QuesID, Ques, Am, LANGID

Jetzt auf meiner Ques Seite, ich habe folgenden: -

-A drop down list box to select language (this drop down is bound to EditorLanguage Table's Desc column) 
-A Text Box for Ques 
-Telerik RadEditor for Ques's Answer 
- Submit cancel buttons 

kann nun sagen, dass die langauage aus dem Drop ausgewählt unten Französisch, deren Sprache ID = 1, Wert = fr-FR, desc = Französisch

Jetzt wie übergebe ich diesen LangID-Wert an InsertUpdateQues Stored Procedure. Ich meine, wie sollte es diesen Wert bekommen?

ich wegen dieses Foreign Key verwirrt bin thing..new zu ms

sql

Wie wird die Logik gebildet werden? Was geht hier überhaupt vor? also ok es wird LangID irgendwie bekommen aber wie und was wird das gut machen? Ich fühle mich plötzlich verloren.

+0

Mein Fehler. Ich dachte, du fragst, wie man den Wert an den SP weitergibt. –

Antwort

1

Warum sind Languages und EditorLanguage separate Tabellen? Basierend auf dem, was Sie uns zeigen, sieht es so aus, als wären sie besser als ein einzelner Tisch. Die Tabellennamen und Schlüsselnamen sind ebenfalls nicht intuitiv.

Wie es jetzt steht, müssen Sie die LanguageID übersetzen, die das Formular in eine LangID Buchung, die die Ques Tabelle benötigt. Dies kann im Code erfolgen, indem die Datenbank (oder eine zwischengespeicherte Suche) angeklickt wird, um LangID von Languages auszuwählen, wobei LanguageID dem Wert entspricht, den Sie haben. Oder Sie können dies innerhalb der gespeicherten Prozedur tun, die Sie aufrufen (also nur eine einzige Reise in die Datenbank), indem Sie entweder den Wert in eine Variable eingeben und die Variable in Ihrer Einfügung/Aktualisierung verwenden oder eine Unterabfrage in Ihrer Datenbank verwenden Einfügen/Aktualisieren, um den Wert auszuwählen.

Beachten Sie, dass dies getrübt werden kann, wenn zwischen Languages und EditorLanguage eine Art von Eins-zu-Viele-Beziehung besteht.

Verwandte Themen