Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как сделать подобное / 7 сообщений из 7, страница 1 из 1
15.05.2005, 20:29
    #33065984
JeSert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать подобное
у меня база в Access там есть 3 Queries с которых выгрибаю все в 4 Query
проблем не было когда количество Query было неизменяемым, но вот потребовалось создавать их динамически и после этого выгрибать все в 4 Query.
Можно ли добавлять Query в базу програмно?
...
Рейтинг: 0 / 0
15.05.2005, 21:56
    #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
15.05.2005, 23:29
    #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
16.05.2005, 11:03
    #33066502
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать подобное
JeSertА можно хранить все процедуры не в базе, а в DataTable хранить а потом Relaitions накидатьНе совсем понятна мысль. поясни...
такое ощущение, что ты говоришь не о процерурах, а о результатах выполнения этих процедур ?
...
Рейтинг: 0 / 0
16.05.2005, 20:25
    #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
16.05.2005, 20:36
    #33068285
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать подобное
обыкновенные запросы в DataSet можно выполнять только для одной таблицы (например, DataTable.Select(..); )

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


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