2015-08-10 2 views
0

у меня есть 3 таблицы ("main_service_approval", "main_inventory" и "proc_supplier_list")Реферирование два внешних ключей в одной таблице - SQL сервер C#

В ("main_service_approval") есть два внешних ключей, ссылающихся на ("main_inventory") и ("proc_supplier_list")

Пожалуйста, обратитесь по ссылке на диаграмме http://s6.postimg.org/ecygesdch/diagram.jpg

Я знаю, как использовать следующие операторы для получения ("main_service_approval") и ("proc_supplier_list")

SELECT item_id FROM main_inventory WHERE main_service_approval.item = main_inventory.name 

и

SELECT sup_id FROM proc_supplier_list WHERE main_service_approval.supplier = proc_supplier_list.name 

Но я не знаю, как войти в это после создания команды SQL в C#

помогите пожалуйста в следующем коде

cmd = new SqlCommand(@" THE CODE NEEDED ", cn); 
+0

Почему бы не использовать 'main_service_approval.item_id = main_inventory.item_id' и' main_service_approval.sup_id = proc_supplier_list.sup_id'? Вы можете попытаться использовать 'UNION' – Marusyk

+0

Вы в основном просите, как запрашивать несколько таблиц в одном выражении SQL? –

+0

@MegaTron Теперь я не использую команды UNION, если бы вы могли предоставить мне пример для этого, было бы хорошо. – msulaiman786

ответ

-1

Вы можете выполнить SQL-запросы в C#, как показано ниже: -

SqlConnection sqlConnection1 = new SqlConnection("Your Connection String"); 
SqlCommand cmd = new SqlCommand(); 
SqlDataReader reader; 

cmd.CommandText = "SELECT * FROM Customers"; 
cmd.CommandType = CommandType.Text; 
cmd.Connection = sqlConnection1; 

sqlConnection1.Open(); 

reader = cmd.ExecuteReader(); 
// Data is accessible through the DataReader object here. 

sqlConnection1.Close(); 

Однако вы можете использовать CommandType.StoredProcedure, если запрос выполняется с помощью хранимой процедуры. Аналогично, если вам нужен только один столбец из запроса, используйте его как cmd.ExecuteScalar().

+1

, в общем случае вы должны создавать экземпляры 'SqlConnection' и' SqlCommand' с помощью инструкции 'using' без вызова' SqlConnection.Close() ' в явном виде. – rexcfnghk

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