Я бегу хранимых процедур по имени в .net, и возвращает данные как JSON в моем веб-интерфейсеC# SQL хранится процедура, установленная Resultset в
Если моя хранимая процедура
SELECT name from employees
Я вернусь таблица с TABLENAME = "Table1"
Так что мой JSON является {Table1: [{row1stuff}, {row2stuff}]}
Я хотел бы определить tablenames в моих процедур.
Прямо сейчас я делаю
SELECT 'names'
SELECT name from employees
и в моей C# пробегают значения первых таблиц и названия других таблиц
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt); //dt is a dataset
//start at 1 since the first table is the tablenames table
for (int i = 1; i < dt.Tables.Count; i++)
dt.Tables[i].TableName = dt.Tables[0].Rows[0].ItemArray[i-1].ToString();
//get rid of the first table
dt.Tables.RemoveAt(0);
return JObject.FromObject(dt);
Он сейчас работает, и моя JSON является {имена : [{row1}, {row2} ...]}
Было бы замечательно, если бы я мог сделать
SELECT name from employees as names
(но это не будет установлено имя таблицы в том, что возвращается SP, просто устанавливает его для SQL)
Просто чтобы быть ясно, некоторые из моих хранимых процедур, возвращающих несколько наборов так что я
SELECT 'Employees','Cars','Websites'
SELECT * FROM employees
SELECT * FROM cars
SELECT * from sites
так что я получаю обратно JSON
{Employees:[{emp1},{emp2}...], Cars:[{car1}], Websites:[{site1}, {site2}]}
Который является совершенным, но делает SP странно, как у меня есть выбор сверху .. только не супер очевидно, когда вы просто глядя на зр
Информация о именах запрашиваемых таблиц не возвращается из хранимой процедуры, что бы она вернула для выбора из * n * связанных таблиц? «Таблица1» является артефактом класса .net 'DataTable'. Выходной параметр был бы альтернативой 'SELECT'. –
@AlexK. Я не хотел, чтобы он определял имена таблиц из таблиц, которые я запрашивал, это было бы что-то, что я должен был бы ввести (так что объединения не имели бы значения). «Таблица1 - это артефакт ...» - это то, чего я боялся :(Я использовал выходной параметр, но это было больший хлопот в SP, чем выполнение SELECT. Спасибо, хотя! - иногда приятно слышать, что он может Не делайте этого, чтобы вы перестали беспокоиться об этом. –