powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / AppicationBlocks
26 сообщений из 26, показаны все 2 страниц
AppicationBlocks
    #32643598
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот наконец поставил Microsoft.ApplicationBlocks. Ну и не получается прописать в AssemblyInfo Imports Microsoft.ApplicationBlocks.Data - пишет, что такого неймспейса нет. Подскажите последовательность действий после установки этого ApplicationBlocks, что должно быть в Solution проекта ?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32643630
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый надёжный метод:
Создать dll и её добавлять в проект (Add references). Если лень писать всё время Microsoft.ApplicationBlocks.Data, то, можно в коде формы вне процедур, импортировать это пространство имён.
А дальше ищешь SQLHelper или SqlHelperParameterCache в зависимости от необходимости.
P.S. Желаю удачи...
...
Рейтинг: 0 / 0
AppicationBlocks
    #32643631
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один не скромный вопрос:
Почему нужно прописывать в "AssemblyInfo" Imports Microsoft.ApplicationBlocks.Data???
...
Рейтинг: 0 / 0
AppicationBlocks
    #32643932
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrigСамый надёжный метод:
Создать dll и её добавлять в проект (Add references). Если лень писать всё время Microsoft.ApplicationBlocks.Data, то, можно в коде формы вне процедур, импортировать это пространство имён.
А дальше ищешь SQLHelper или SqlHelperParameterCache в зависимости от необходимости.
P.S. Желаю удачи...

А эта dll в процессе инсталляции не создается ? Я лазил по референсам, но там ничего похожего не нашел. Может её надо регистрить отдельно ?


vladgrig Один не скромный вопрос:
Почему нужно прописывать в "AssemblyInfo" Imports Microsoft.ApplicationBlocks.Data???

Да в этой ApplicationBlocks, в подменю Data Access, есть пробный проект, я его посмотрел и там это было. Там если смотреть Solution Explorer , то там сидят 2 проекта: Один вот этот Samples ..., а другой - Microsoft.ApplicationBlocks.Data. и я не врублюсь, что это значит.
Вообще я пытался делать так, как описано
http://www.gotdotnet.ru/LearnDotNet/ADONET/708.aspx
Может чего не понял ...
Разъясните пожалуйста - что к чему
...
Рейтинг: 0 / 0
AppicationBlocks
    #32644323
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТам если смотреть Solution Explorer , то там сидят 2 проекта: Один вот этот Samples ..., а другой - Microsoft.ApplicationBlocks.Data.
Нас интересует проект номер два... В этом проекте открываем закладку Build. Можно в Configuration Manager поставить вместо Debug -> Release. Теперь всё там же, Build-> Build Solution... Вуа-ля - у нас в папке Bin нашего проекта получилась dll.
А, дальше как я писал, в любой проект AddReferences эту dll... Ну и т.д.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32644492
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо vladgrig, что-то получилось - вроде тоЮ что надо. Если что не получится, то не обессудьте - опять спрошу.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32648920
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну говорил же - спрошу и вот ...

Народ, у кого установлен этот AppicationBlocks, скажите, ну чего не хочет заполняться комбобокс в тестовом проекте по нажатию кнопки, чего ему не хватает-то ?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32649000
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в DataAdapter не задается TableMapping, то имена возвращаемых таблиц (в порядке следования select'ов в запросе):
Table
Table1
Table2
...
[если возвращается одна таблца - ее имя Table]

Me.ComboBox1.DataSource = ds.Tables("Table")

см. Setting Up DataTable and DataColumn Mappings
...
Рейтинг: 0 / 0
AppicationBlocks
    #32649044
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КузяMe.ComboBox1.DataSource = ds.Tables("Table")

Так ведь в проекте ж так и написано, или я чего не понял ?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32649117
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ds As DataSet = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset("workstation id=""SPOSAD-LH2MILX6"";packet size=4096;integrated security=SSPI;data s" & _
        "ource=""sposad-LH2MILX6"";persist security info=False;initial catalog=Northwind", CommandType.Text, "select * from categories")
        Me.ComboBox1.DataSource = ds.Tables("categories")
        Me.ComboBox1.ValueMember = "CategoryID"
        Me.ComboBox1.DisplayMember = "CategoryName"

    End Sub
...
Рейтинг: 0 / 0
AppicationBlocks
    #32649123
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
твой текст
Me.ComboBox1.DataSource = ds.Tables(" categories ")
...
Рейтинг: 0 / 0
AppicationBlocks
    #32649138
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузя ! Низкий поклон, блин, ну кто ж знал что "Table", нужно воспринимать буквально, а не как некоторое имя таблицы. Ведь без использования этого AppicationBlocks всегда писал именно имя таблицы.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32663857
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять проблемы с Microsoft.ApplicationBlocks, выдаёт ошибку при заполнении DataGrid. Как обычно прилагаю тестовый проект. Проект состоит из одной формы с кнопкой, при нажатии на которую должен бы заполняться DataGrid. Должен, но не заполняется. Источником данных служит ХП UP_TestHelper базы Northwind, в папке проекта лежит скрипт, создающий эту процедуру. С помощью адаптера я эту задачу решил, но тогда на кой ставил ApplicationBlocks ? Хочется понять, чего я неправильно делаю. Подскажите пожалуйста.

Спасибо.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32663957
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу же одна из рекомендаций поставить в ХП SET NOCOUNT ON. Подробности смотрите на ГФ.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
create proc UP_TestHelper
@IdOrd int
as 
SET NOCOUNT ON  --  add this line 
SELECT     dbo.[Order Subtotals].Subtotal AS SaleAmount, dbo.Orders.OrderID, dbo.Customers.CompanyName, dbo.Orders.ShippedDate
FROM         dbo.Customers INNER JOIN
                      dbo.Orders INNER JOIN
                      dbo.[Order Subtotals] ON dbo.Orders.OrderID = dbo.[Order Subtotals].OrderID ON dbo.Customers.CustomerID = dbo.Orders.CustomerID
WHERE     (dbo.[Order Subtotals].Subtotal >  2500 ) AND (dbo.Orders.ShippedDate BETWEEN '19970101' AND '19971231') AND (dbo.Orders.OrderID = @IdOrd)

Application Block у меня не установлен, поэтому попробую так:
1) ds - создается и не заполняется, или nothing?
2) ХП вручную с этим же параметром выполняется?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664416
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вручную процедура выполняется, (да, частенько забываю ставить set nocount on, но здесь вроде не в этом дело).

Ошибка возникает следующая :
.. type System.ArgumentExeption occurred in system.windows.forms.dll
Add. inf.: Cannot create a child list for field UP_TestHelper.

Какой дочерний список она не может сделать и почему процедура - это поле - непонятно.
Возникает на строке:
Me.Datagrid1.DataMember = "UP_TestHelper"

Спасибо.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664462
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри - DataSource у тебя таблица, что же в DataMember еще что-то задаешь ??? присвой туда пустую строку и всё
Код: plaintext
1.
Me.DataGrid1.DataSource = ds.Tables("Table")
Me.DataGrid1.DataMember = ""
и будет показываться в гриде таблица
--
с базой проверить не могу - ибо нет её
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664644
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кузя, и опять ты прав, блин, ну чего меня всё упирает на ерунде. Даже стыдно.
По моему из этого топика уже можно сотворить типа фака по использованию ApplicationBlocks что-то вроде "Ответы на глупые вопросы" А чего, ИМХО вразумительной и подробной документации по этому делу нет.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664668
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего, ИМХО вразумительной и подробной документации по этому делу нет.

Есть! И книжки и документация по ADO.NET

Ведь это у вас не проблема связанная с Application Blocks

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664769
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa Ведь это у вас не проблема связанная с Application Blocks

А почему не связанная-то ? Ведь кодгда использовал стандартный подход, т.е формировал динамически обьекты ADO, как писал выше, получалось. Или я не прав ?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664808
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему не связанная-то ? Ведь кодгда использовал стандартный подход, т.е формировал динамически обьекты ADO, как писал выше, получалось. Или я не прав ?

Надо смотреть код

А вот эмуляция ошибки, app blocks не причем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim ds As DataSet = CreateDataSet()
    Me.DataGrid1.DataSource = ds.Tables("Table")
    Me.DataGrid1.DataMember = "UP_TestHelper"
End Sub

Private Function CreateDataSet() As DataSet
    Dim ds As New DataSet
    ds.Tables.Add(New DataTable("Table"))
    ds.Tables("Table").Columns.Add("sample", GetType(String))
    Return ds
End Function

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664866
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sposadА почему не связанная-то ? Ведь кодгда использовал стандартный подход, т.е формировал динамически обьекты ADO, как писал выше, получалось. Или я не прав ?в гриде это будет выглядеть одинаково
Me.DataGrid1.DataSource = ds
Me.DataGrid1.DataMember = "Table"
Me.DataGrid1.DataSource = ds.Tables("Table")
Me.DataGrid1.DataMember = ""просто будут построены разные DataBindig'и,
но это уже другая песня
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664888
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется я понял в чём дело, вроде ...

Когда делал стандартно, то брал DataSet как экземпляр того DataSet, который у меня есть в проекте и в нём есть несколько таблиц и вью, соответственно и требовалось указать, какая из них DataMember. При использовании ApplicationBlocks, по крайней мере как я его использовал, создаётся Dataset, содержащий только один объект (табл, вью или ХП) - тот, который прописал в аргументах SqlHelper.ExecuteDataset. Поэтому выставив этот DataSet как DataSourse для грида, указание DataMember становится излишним, отсюда и трабл. Может так ?
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664929
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При использовании ApplicationBlocks, по крайней мере как я его использовал, создаётся Dataset, содержащий только один объект (табл, вью или ХП) - тот, который прописал в аргументах SqlHelper.ExecuteDataset. Поэтому выставив этот DataSet как DataSourse для грида, указание DataMember становится излишним , отсюда и трабл. Может так ?

Примерно, но указывать DataMember становиться излишним не от того что возращается один DataTable . Смотрите последний пост кузя

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664938
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sposadПоэтому выставив этот DataSet как DataSourse для грида, указание DataMember становится излишним. Может так ?немного не так.

если DataSource грида это DataSet, то чтобы показать таблицу DataMember должен быть именем таблицы (независимо от того, сколько таблиц в DataSet)

второй поход - установить DataSource грида сразу на таблицу (ds.Tables("Table") - это и есть таблица). в этом случае (чтобы показать содержимое таблицы) DataMember задавать не надо. все необходимое для показа уже есть в DataSource.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32664984
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромное. Когда писал свой пост от 41-41 не видел ещё поста Кузи от 14-33, а там было уже всё, что надо.
...
Рейтинг: 0 / 0
AppicationBlocks
    #32665026
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sa
когда сюда будут сливать еще getdotnet и rsdn - песня в общем :)
--
работенки тебе подвалит по модерированию не меряно
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / AppicationBlocks
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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