powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / UpdateRule в типизированном Dataset - как настроить
8 сообщений из 8, страница 1 из 1
UpdateRule в типизированном Dataset - как настроить
    #35367190
Юрий_Ш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. В БД SQL server имеются таблиця, связанные между собой, заданы какскадные обновления. Но вот проблемма - при создании типизированного датасета в мастере (именно в мастере - около 100 таблиц) связи создаются, а вот UpdateRule на них = None. Как сделать так, чтобы вся информация о структуре с сервера переходила в датасет (без конструктора).
СПАСИБО.
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35367196
Юрий_Ш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть есть какие нить настройки студии, о которых я не знаю?
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35367571
Юрий_Ш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже никаких мыслей? Помогите, оч надо.
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35367624
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать код, который по данным из базы будя проставлять эти рулесы ... базу можно спросить как-то так...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select 
  a.constraint_name, 
  a.table_name as FK_Table, 
  a.column_name AS FK_column,
  c.table_name AS PK_Table, 
  c.column_name AS PK_column,
  b.UPDATE_RULE, 
  b.DELETE_RULE
from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE a 
inner join INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS b on b.constraint_name = a.constraint_name
inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE c on c.constraint_name = b.unique_constraint_name
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35367680
Юрий_Ш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я так и думал, получается, что надо дописывать датасет. Спасибо
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35373036
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во-первых, какой провайдер доступа к данным используется?
во-вторых, какой сиквел? 2000 или 2005 ?
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35373048
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон, на 2005-м такая же шняга - связи переносятся, а rule - нет
...
Рейтинг: 0 / 0
UpdateRule в типизированном Dataset - как настроить
    #35376153
Фотография Sweet_Alkazar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retrieving Column Default Values from SQL Server
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
// Namespaces, variables, and constants
using System;
using System.Configuration;
using System.Text;
using System.Data;
using System.Data.SqlClient;

//  . . . 

StringBuilder result = new StringBuilder( );

// Fill the Orders table with schema and data.
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Orders",
    ConfigurationSettings.AppSettings["Sql_ConnectString"]);
DataTable ordersTable = new DataTable(ORDERS_TABLE);
da.FillSchema(ordersTable, SchemaType.Source);
da.Fill(ordersTable);

SqlConnection conn = new SqlConnection(
    ConfigurationSettings.AppSettings["Sql_ConnectString"]);

// Command for system stored procedure returning constraints
SqlCommand cmd = new SqlCommand("sp_helpconstraint", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@objname",SqlDbType.NVarChar,776);
cmd.Parameters[0].Value = "Orders";
cmd.Parameters.Add("@nomsg",SqlDbType.VarChar,5);
cmd.Parameters[1].Value = "nomsg";

// Create a DataReader from the stored procedure.
conn.Open( );
SqlDataReader dr = cmd.ExecuteReader( );

// Iterate over the constraints records in the DataReader.
while(dr.Read( ))
{
    // Select the default value constraints only.
    String constraintType = dr["constraint_type"].ToString( );
    if (constraintType.StartsWith("DEFAULT"))
    {
        String constraintKeys = dr["constraint_keys"].ToString( );
        // Only strips single quotes for numeric default types
        // add necessary handling as required for nonnumeric defaults
        String defaultValue =
            constraintKeys.Substring(1, constraintKeys.Length - 2);

        String colName = constraintType.Substring(
            (constraintType.LastIndexOf("column") + 7));

        ordersTable.Columns[colName].DefaultValue = defaultValue;

        result.Append("Column: " + colName + "   Default: " +
            defaultValue + Environment.NewLine);
    }
}
dr.Close( );
conn.Close( );

resultTextBox.Text = result.ToString( );
т.к. sp_helpconstraint также возвращает информацию о внешних ключах, то думаю вполне реально переделать пример под ваши нужды.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / UpdateRule в типизированном Dataset - как настроить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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