powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать подобное
7 сообщений из 7, страница 1 из 1
Как сделать подобное
    #33065984
JeSert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня база в Access там есть 3 Queries с которых выгрибаю все в 4 Query
проблем не было когда количество Query было неизменяемым, но вот потребовалось создавать их динамически и после этого выгрибать все в 4 Query.
Можно ли добавлять Query в базу програмно?
...
Рейтинг: 0 / 0
Как сделать подобное
    #33066024
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
OleDbConnection	cn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\db5.mdb;");
cn.Open();
OleDbCommand	cm;

// создание процедуры			
cm=new OleDbCommand("CREATE PROCEDURE Proc1 AS SELECT * FROM [TBL1]", cn);
cm.ExecuteNonQuery();

// получить список всех процедур (блин, почему View ???)
DataTable pr=cn.GetOleDbSchemaTable(OleDbSchemaGuid.Views, new object[]{null, null, null});
for(int i=0; i<pr.Rows.Count; i++)
  Console.WriteLine(pr.Rows[i]["TABLE_NAME"]);

// удаление процедуры
cm=new OleDbCommand("DROP PROCEDURE Proc1", cn);
cm.ExecuteNonQuery();
...
Рейтинг: 0 / 0
Как сделать подобное
    #33066099
JeSert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно хранить все процедуры не в базе, а в DataTable хранить а потом Relaitions накидать вот сами процедуры
Код: plaintext
1.
2.
3.
4.
5.
6.
qАдминПредметы
SELECT [Предметы по специальностям].*FROM [Предметы по специальностям]WHERE profession_id= 3 ;
qДизайнПредметы
SELECT [Предметы по специальностям].*FROM [Предметы по специальностям]WHERE profession_id= 2 ;
qПрогПредметы
SELECT [Предметы по специальностям].*FROM [Предметы по специальностям]WHERE profession_id= 1 ;
и 4 в которое все сливаю
Код: plaintext
1.
2.
3.
SELECT Предметы.id, Предметы.subject_name_rus, qПрогПредметы.type,qПрогПредметы.hours, qДизайнПредметы.type, qДизайнПредметы.hours, qАдминПредметы.type, qАдминПредметы.hours
FROM (qПрогПредметы RIGHT JOIN (qДизайнПредметы RIGHT JOIN Предметы ON qДизайнПредметы.subject_id=Предметы.id) ON qПрогПредметы.subject_id=Предметы.id) LEFT JOIN qАдминПредметы ON qАдминПредметы.subject_id=Предметы.id
ORDER BY subject_name_rus;
Может слишком накрутил есть ли проще способ?
...
Рейтинг: 0 / 0
Как сделать подобное
    #33066502
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JeSertА можно хранить все процедуры не в базе, а в DataTable хранить а потом Relaitions накидатьНе совсем понятна мысль. поясни...
такое ощущение, что ты говоришь не о процерурах, а о результатах выполнения этих процедур ?
...
Рейтинг: 0 / 0
Как сделать подобное
    #33068278
JeSert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну может не правильно выразился, объясню по другому.
говорю я о результатах выполнение этих процедур. Самые простые я смогу загрузить в DataTable
Код: plaintext
SELECT [Предметы по специальностям].*FROM [Предметы по специальностям]WHERE profession_id= 3 ;
но можно ли потом заполнить DataTable таким образом установив Relations между другими DataTable?
Код: plaintext
1.
2.
SELECT Предметы.id, Предметы.subject_name_rus, qПрогПредметы.type,qПрогПредметы.hours, qДизайнПредметы.type, qДизайнПредметы.hours, qАдминПредметы.type, qАдминПредметы.hours
FROM (qПрогПредметы RIGHT JOIN (qДизайнПредметы RIGHT JOIN Предметы ON qДизайнПредметы.subject_id=Предметы.id) ON qПрогПредметы.subject_id=Предметы.id) LEFT JOIN qАдминПредметы ON qАдминПредметы.subject_id=Предметы.id
ORDER BY subject_name_rus;
только
а именно не хранить процедуры в базе а делать все обыкновенными запросами
...
Рейтинг: 0 / 0
Как сделать подобное
    #33068285
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обыкновенные запросы в DataSet можно выполнять только для одной таблицы (например, DataTable.Select(..); )

в твоем случае (несколько таблиц) можно воспользоваться
HOW TO: Implement a DataSet JOIN helper class in Visual C# .NET
...
Рейтинг: 0 / 0
Как сделать подобное
    #33068440
JeSert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо почитаем
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать подобное
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]