Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Microsoft.SqlServer.Management.Smo 
:(
    Опции темы
4ybaka
Дата 15.11.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



есть Microsoft.SqlServer.Management.Smo.Server server, через который нужно заполнить объект типа DataTable (из определенной таблицы),а точнее просто перегнать в DataGridView.подскажите,как это можно реализовать?готового метода не нашел.в ручную тоже не получается (не могу добыть строки из server.Tables[])


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
1stain
Дата 16.11.2007, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40



Код

            Server server = new Server(@".\MSSQL2005"); // выставь имя своего сервера
            Database db = server.Databases["Northwind"];
            DataSet ds = db.ExecuteWithResults("SELECT * FROM dbo.CUSTOMERS");
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = ds.Tables[0];

у Server нет свойства Tables, зато оно есть у Database, которые "лежат" в коллекции DatabaseCollection

Это сообщение отредактировал(а) 1stain - 16.11.2007, 00:51


--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
4ybaka
Дата 16.11.2007, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



то что доктор прописал  smile 


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
4ybaka
Дата 17.11.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



появился еще один вопрос - как получить связи между таблицами?


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
1stain
Дата 17.11.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 30.7.2007
Где: Киев - Харьков

Репутация: 5
Всего: 40





--------------------
Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein)
user posted image
PM MAIL   Вверх
4ybaka
Дата 18.11.2007, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



вроде чуток разобрался,но всеравно есть вопросы.вот например часть из рез-ов того примера:
Код

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[Employees](
    [EmployeeID] [int] IDENTITY(1,1) NOT NULL,
    [LastName] [nvarchar](20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [FirstName] [nvarchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [Title] [nvarchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [TitleOfCourtesy] [nvarchar](25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [BirthDate] [datetime] NULL,
    [HireDate] [datetime] NULL,
    [Address] [nvarchar](60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [City] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Region] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [PostalCode] [nvarchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Country] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [HomePhone] [nvarchar](24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Extension] [nvarchar](4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Photo] [image] NULL,
    [Notes] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ReportsTo] [int] NULL,
    [PhotoPath] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[Customers](
    [CustomerID] [nchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [CompanyName] [nvarchar](40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [ContactName] [nvarchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ContactTitle] [nvarchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Address] [nvarchar](60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [City] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Region] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [PostalCode] [nvarchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Country] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Phone] [nvarchar](24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Fax] [nvarchar](24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[Shippers](
    [ShipperID] [int] IDENTITY(1,1) NOT NULL,
    [CompanyName] [nvarchar](40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [Phone] [nvarchar](24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
CREATE TABLE [dbo].[Orders](
    [OrderID] [int] IDENTITY(1,1) NOT NULL,
    [CustomerID] [nchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [EmployeeID] [int] NULL,
    [OrderDate] [datetime] NULL,
    [RequiredDate] [datetime] NULL,
    [ShippedDate] [datetime] NULL,
    [ShipVia] [int] NULL,
    [Freight] [money] NULL,
    [ShipName] [nvarchar](40) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ShipAddress] [nvarchar](60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ShipCity] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ShipRegion] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ShipPostalCode] [nvarchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [ShipCountry] [nvarchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]

после проверки выяснилось,что здесь нижняя таблица зависит от всех перечисленных выше.но как узнать по каким полям?
там где есть IDENTITY(1,1) почти понятно.но почему в Employees IDENTITY есть, а в Customers нет?из-за типа поля?выходит их нужно просто сопоставлять по названиям столбцов?мне кажется это нерационально и вообще не правильно...
и в Orders нет ни одного столбца из Shippers.как их тогда сопоставлять?

ЗЫ:может это излишне и есть какойто более простой метод?


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.