2010-12-03 3 views
0

я получил эти 3 таблицыИзвлечение данных столбцов из некоторой таблицы

Ques Таблица

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

LangID является внешним ключом, который ссылается на идентификатор языка в таблице Языки

Языки Таблица

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

Язык Таблица для языка содержание сайта в

EditorLanguage стол

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

EditorLanguage Таблица для языка RadEditor в

Когда новый Ques добавляется: -

В InsertUpdateQues Хранится Процедура вставляет следующие значения в Ques Таблица: -

QuesID, Ques, Ans, LANGID

Теперь на моем Ques странице, я следующее: -

-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 

Теперь позволяет сказать langauage выбран из выпадающего французский ID = 1, чей язык, Значение = fr-FR, desc = French

Теперь, как передать это значение LangID в InsertUpdateQues Хранимое состояние. Я имею в виду, как он должен получить эту ценность?

Я запутался из-за этого внешнего ключа thing..new слишком MS SQL

Как будет формироваться логика? Что здесь происходит? так хорошо, что он каким-то образом получит LangID, но как и что хорошего это сделает? Я внезапно чувствую себя потерянным.

+0

Моя ошибка. Я думал, вы спрашиваете, как передать значение SP. – 2010-12-07 19:09:40

ответ

1

Почему Languages и EditorLanguage отдельные таблицы? На основании того, что вы показываете нам, похоже, что они будут лучше, чем одна таблица. Названия таблиц и имена клавиш также неинтуитивные.

Поскольку он стоит прямо сейчас, вам нужно будет перевести LanguageID, чтобы форма размещалась в LangID, что и таблица Ques. Это можно сделать в коде, нажав на базу данных (или кешированный поиск), чтобы выбрать LangID от Languages, где LanguageID равно значению, которое у вас есть. Или вы можете сделать это внутри хранимой процедуры, которую вы вызываете (так что это всего лишь одна поездка в базу данных) путем выбора значения в переменной и использования переменной в вашей вставке/обновлении или с помощью подзапроса в вашем insert/update, чтобы выбрать значение.

Обратите внимание, что это может стать омраченным, если между Languages и EditorLanguage существует какое-либо отношение «один ко многим».

Смежные вопросы