powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataRow *dr = new DataRow
7 сообщений из 7, страница 1 из 1
DataRow *dr = new DataRow
    #32445534
Nauro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скажите как добится этого?
пишу код
Код: plaintext
1.
DataRowBuilder *drb;
DataRow * dr = new DataRow(drb); 


error C2248: 'System::Data::DataRow::DataRow' : cannot access protected member declared in class 'System::Data::DataRow'
как с этим боротся?
Я создаю свой класс наследник от DataRow и мне надобно его создавать оператором new чтоб он все свои свойства сохранил, если создавать его так как базовый DataRow:
Код: plaintext
DataRow *dr = Table->NewRow()

то сохранит ли он все свои "дополнитильные" свойства? Я чет сомневаюсь, хотя еще и не пробовал.
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32446532
Nauro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неужели никто не подскажет, вопрос очень прост: как создать пустой екземпляр класса DataRow посредством оператора new ?

ответьтэ хоть что нибудь, елы-палы!
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32446561
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не надо так нервничать, всё просто

DataRow dr = new DataRow();
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32454668
Nauro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторне надо так нервничать, всё просто
DataRow dr = new DataRow();
от расмешил :) Мне интересно, это ради поста, или просто поиздиватся хочешь? :) нельзя так создать DataRow нету у него пустого конструктора. проблема в том что DataRow не может быть создан сам по себе, токо с помощью DataTable::NewRow(). вот так вот.
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32457745
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в ручную делаю вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
      dstProducts=new DataSet()    
      dim connect as OleDBConnection
      dim myConnString as String    
      myConnString=System.Configuration.ConfigurationSettings.AppSettings( "connect" )
      connect= New OleDbConnection(myConnString)
      dadProducts=New OleDBDataAdapter( "select * from users   " ,connect)
        dadProducts.Fill(dstProducts, "users" )
         Dim t As DataTable
         t = dstProducts.tables( "users" )
         Dim newRow As DataRow = t.NewRow()
    ' Set values in the columns:
         newRow("ID") = 0
         newRow("Country") = "Russia"
    ' Add the row to the rows collection.
         t.Rows.Add(newRow)
          cmd = New OleDBCommand( "insert into users (id,country) "   & _
           " values (?,?'') " , connect)
        cmd.connection=connect
        cmd.ExecuteNonQuery()
        connect.Close()
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32457963
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, согласен, промахнулся :)

DataTable dtSummary = new DataTable("Summary");
DataColumn dcResort = new DataColumn("Курорт", typeof(string));
DataColumn dcCount = new DataColumn("Путёвок", typeof(string));
dtSummary.Columns.Add(dcResort);
dtSummary.Columns.Add(dcCount);
...
DataRow dr = dtSummary.NewRow();
dr["Курорт"] = tmpResortPrev;
dr["Путёвок"] = rCounter.ToString();
dtSummary.Rows.Add(dr);
...

вот кусок из работающего кода на C#
...
Рейтинг: 0 / 0
DataRow *dr = new DataRow
    #32458792
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Я создаю свой класс наследник от DataRow и мне надобно его создавать оператором new чтоб он все свои свойства сохранил


тебе надо наследоваться от DataTable и переопределить метод NewRowFromBuilder
как это делается - посмотри в коде типизированного датасета

Код: plaintext
1.
2.
3.
protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {
                return new CompanyRow(builder);
            }


конструктор класса CompanyRow

Код: plaintext
1.
2.
3.
4.
internal CompanyRow(DataRowBuilder rb) : 
                    base(rb) {
                this.tableCompany = ((CompanyDataTable)(this.Table));
            }


получается как бы "типизированная таблица"
ты её сможешь добавлять в нетипизированные датасеты, только имхо 99%, что они будут неправильно десериализовываться :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataRow *dr = new DataRow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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