powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
48 сообщений из 48, показаны все 2 страниц
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32772851
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня несколько вопросов к гуру , чтобы правильно начать и спроектировать приложение, иначе потом столько будем много проблем.

Итак, есть файл mdb с 19 таблицами. Между таблицами в базе access определено много связей. Структура базы опеределена и меняться не будет. В приложении в частности будут производиться стандартные действия по добавлению , изменению , удалению записей из таблиц , поиску записей , выполнение запросов на выборку и в связи с этим вот такие вот вопросы.

1. Как поступить с DataSet . Сколько их надо сделать. У меня пока один ДатаСет и вот скажем я в него выкачиваю все таблицы базы.

В итоге получаю ДатаСет , с таблицами которого можно работать в любой форме.

Вот теперь думаю о следующем.

Поскольку в базе определены связи м/у таблицами то наверное придется добавлять связи и в ДатаСете, если не ошибаюсь это Constraint... Так вот как определить в своем ДатаСете эти связи?


Сл подводный камень.

Как поступить с сохранением данных в базу?

Юзер будет менять данные в куче таблиц ДатаСета и может сделать кнопку которая будет обновлять сразу все внесенные изменения по всем таблицам в базу? Или поступить наоборот. Каждый раз когда юзер будет вносить изменения, открывать заново коннект и вносить изменения в базу?

Теперь касательно изменения записей. Будет куча форм в котором будут производиться однотипные действия только над данными разных таблиц (удаление, апдейт , добавление записей).
Может соорудить класс который будет как бы универсальным для выполнения этих действий? А потом его и применять в формах . Но ведь кол-во полей в таблицах разное и типы полей разные. Тут у меня опыта маловато.

Есть еще вопрос важный.

Как получить имена всех таблиц и имена всех полей в mdb файле? Зная это я думаю написал бы класс для работы с записями таблиц.


Был бы очень рад за любую помощь и советы по данному вопросу. Ведь главное правильно начать.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32772971
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32772985
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак получить имена всех таблиц и имена всех полей в mdb файле? Зная это я думаю написал бы класс для работы с записями таблиц.

Посмотрите в сторону DataAdapter.FillSchema.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32772991
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так вот как определить в своем ДатаСете эти связи?добавляй relation'ы в DataSet - DataSet.Relations.Add(..); Как получить имена всех таблиц и имена всех полей в mdb файле? OleDbConnection.GetOleDbSchemaTable(..);
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773004
Чунунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//Посмотрите в сторону DataAdapter.FillSchema.

Уважаемый hDrummer, а нельзя чуть подробней об этом . DaAdapter - это мост между ДатаСетом и самой базой. Как его использовать для получения имен всех таблиц базы и имен полей в таблицах?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773007
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример моего класса - редактора таблиц
в качестве свойств прнимает dataset, набор комманд и Dataadapter для
осуществления обновлений в таблице
также релизован поиск по любому строковому полю датасета ..
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773021
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чунунок//Посмотрите в сторону DataAdapter.FillSchema.

Уважаемый hDrummer, а нельзя чуть подробней об этом . DaAdapter - это мост между ДатаСетом и самой базой. Как его использовать для получения имен всех таблиц базы и имен полей в таблицах?

кузя более точен - OleDbConnection.GetOleDbSchemaTable(..)
подробнее использование см. в SDK или MSDN.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773035
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Mr. GES

Спасибо , качнул и смотрю. В аське то бываешь?

2 hDrummer

Ага.

Спасибо All, зарываюсь в работу.

Сейчас определю связи между таблицами. Я уже понял , что это должен быть всего лишь один ДатаСет.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773088
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, нуна хорошая книжка по ADO.NET

Вот есть в доке на NET такой пример


C# Copy Code

public DataTable GetTables(OleDbConnection conn)
{
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
conn.Close();
return schemaTable;
}

Как отсюда вытащить имена таблиц абсолютно не рублю, а про имена столбцов тоже бы надо.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773103
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSDNEach field in the OleDbSchemaGuid class maps to an OLE DB schema rowset. For more information, see "Appendix B: Schema Rowsets," in the OLE DB Programmer’s Reference.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773384
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял метод вернет DataTable в которой будет вся информация о базе и ее таблицах полях и прочей ботве.

А эту таблицу можно добавить в DataSet? Чтобы в гриде посмотреть?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773396
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
давно б уже добавил и посмотрел :)
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773406
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кузя !

Это почему что не работает?

this.TotalDataSet.Tables.Add(schemaTable);

Потом обращаюсь в 20 таблице получаю хрен..Что мол нет у тебя такой таблицы...

Не пашет.

Говорил мне ПАПА, слезай на .NET и побыстрей .
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773428
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не пахало бы, словил бы exception по null reference :)
за 20-ю таблицу ничего сказать не могу, т.к. не знаю сколько их тебя вообще.

смотри "в лоб"
DataGrid.SetDataBinding(schemaTable, null);
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773440
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть , пашет , кузя спасибо.

this.TotalDataSet.Tables.Add(schemaTable);

Это пошло, просто я идиот тут тупанул немного.

Грид выводит имена таблиц в базе mdb и прочую инфу. Теперь осталось имена столбцов каждой таблицы взять... как? Чешу репу!
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773466
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OleDbSchemaGuid.Columns

restrictions: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME

по всем таблицам все колонки
Код: plaintext
oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] {null, null, null, null});
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773481
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действую.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773498
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось!

public DataTable GetAllColumn()
{


DataTable schemaTable1 = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns ,
new object[] { null, null, null,null });

this.TotalDataSet.Tables.Add(schemaTable1);

return schemaTable1;

}

Только он собака серая еще берет поля запросов... Нельзя ли только таблиц?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773513
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
либо все (как сейчас),
либо в цикле по именам таблиц формируй эту DataTable
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773546
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеешь ввиду завести новую DataTable и пихать туда строки в цикле по таблице где есть все?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773559
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или наоборот - прочитать все а потом удалить ненужное :)
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773645
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ты прав Кузя , удалить ненужное будет проще. А как организовать удаление по определенному критерию в DataTable?
Надо в цикле смотреть, не равно ли поле TABLE_NAME имени таблицы (которые уже у меня в массиве) . Даже незнаю как это осуществить пока.

Кстати вот что у меня получилось, это так пока набросок



// класс выдирает все таблицы базы данных и заполняет DataSet данными
public class GetAllTables
{
const string FROM = "SELECT * FROM ";
public DataSet TotalDataSet;
OleDbDataAdapter Adapter;
OleDbCommand Command;
OleDbConnection Connection;
string[] NameAllTables; // в массиве храним имена всех таблиц базы

//================================================================================================================
public GetAllTables() // открываем коннект и пихаем в доступный датасет данные всех таблиц базы
{
Connection = new OleDbConnection();
Connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + @"\fuckDB.mdb";
Connection.Open();


TotalDataSet = new DataSet();
Command = new OleDbCommand();
Adapter = new OleDbDataAdapter();
Command.Connection = Connection;

GetNameAllTables();

for (int i = 0; i < NameAllTables.Length; i++)
{
Command.CommandText = FROM + NameAllTables ;
Adapter.SelectCommand = Command;
Adapter.Fill(TotalDataSet, Command.CommandText);
}

GetAllColumn();



//Connection.Close(); // закрываем коннект
}

// метод получает имена всех таблиц базы и создает новую таблицу в //DataSet

private void GetNameAllTables()
{
// Connection.Open();

DataTable schemaTable = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });

this.TotalDataSet.Tables.Add(schemaTable);

// пихаем имена таблиц в массив из полученной таблицы

NameAllTables = new string[this.TotalDataSet.Tables[0].Rows.Count];

for (int i = 0; i < NameAllTables.Length; i++)
{
NameAllTables = Convert.ToString( this.TotalDataSet.Tables[0].Rows[2]);
}


}

private void GetAllColumn()
{

DataTable schemaTable1 = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns ,
new object[] { null, null, null,null });
this.TotalDataSet.Tables.Add(schemaTable1);

}



}

Здесь пока работает на ура. Могу в гриде смотреть и таблицы где имена таблиц / таблиц с полями и собственно сами таблицы.

Вот теперь как отсеять эти ненужные записи в таблице 20 DataSet...
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773706
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так:
0-я DataTable - имена таблиц
1-я DataTable - имена котлонок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
ds.Tables.Add(cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null, null, null, "TABLE"}));
ds.Tables.Add(cn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[]{null, null, null, null}));
			
DataView dt=new DataView(ds.Tables[0]); // OleDbSchemaGuid.Tables
for(int i=0; i<ds.Tables[1].Rows.Count; i++)
{ dt.RowFilter="TABLE_NAME='"+ds.Tables[1].Rows[i]["TABLE_NAME"]+"'";
  if(dt.Count<1) 
    ds.Tables[1].Rows[i].Delete();
}
ds.AcceptChanges();
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773783
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кузе

А я тут взял два вложенных цикла , вот ... Внешний цикл бежит по записям таблицы где есть все барахло , а внутренний достает имена таблиц из массива. По идее если в таблице 20 той третье поле не совпадает с названием таблицы я грохаю строку, но среда ругается и вот как

Deleted row information cannot be accessed through the row.

И тыкает в строку где у меня вилка if
Что же за пакост, ведь вроде все верно делаю. Имена таблиц во второй таблице во втором столбце (с нуля)... Что я тут начудил?


public void Del()
{
int i1=this.TotalDataSet.Tables[20].Rows.Count ;

for (int j=0;j<NameAllTables.Length;j++)


{

for (int i=0;i<i1;i++)

{
if (NameAllTables[j] != Convert.ToString(this.TotalDataSet.Tables[20].Rows [2]))
this.TotalDataSet.Tables[20].Rows.Delete();
}

}

this.TotalDataSet.AcceptChanges();

}
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773798
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перепиши свой пример и используй SRC тэг (7-слева) для исх. текста на C# - блин, половина индексов ушли на италик.

перепиши - в смысле еще раз выложи здесь, но уже в красивом виде :)
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773820
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот

Код: 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.
public void Del()
        {
           int i1=this.TotalDataSet.Tables[ 20 ].Rows.Count  ;

             
           for (int j= 0 ;j<NameAllTables.Length;j++)

              
           {
   
    for (int i= 0 ;i<i1;i++)

        {
            if (NameAllTables[j] != Convert.ToString(this.TotalDataSet.Tables[ 20 ].Rows[i][ 2 ]))
        
           
                this.TotalDataSet.Tables[ 20 ].Rows[i].Delete();
          

        }

  }

this.TotalDataSet.AcceptChanges();

        }

...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773876
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бл* , удаляю уже удаленную строку...

Крышняк едет.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773894
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты в отладчике это проходил ?
у тебя же одна и таже запись 20 раз удаляется. но ведь не дают, потому как это доступно всего один раз :) после этого строка переходит в состояние удаленных и доступ к ее полям только через origin

имхо сделй через DataView, гиморроя меньше
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773902
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял уже . Щас через ДатаВью сделаем...
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32773982
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бл*, какой я дурак. Ведь имена полей таблицы можно получить по ней самой из датасета... аааааЁЁЁЁ...

Кузя, спасибо тебе, повозился со мной дураком.

Сейчас создам невыровненный модный массив и туды пихну названия всех полей.

Пасиб ещо раз !!
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776748
Чугунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю связь один ко многим в датасете
вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 DataColumn parentCol = new DataColumn();
            DataColumn childCol = new DataColumn();
            
             parentCol = TotalDataSet.Tables["WrkData"].Columns["tabeln"];
            childCol = TotalDataSet.Tables["Отпуска"].Columns["tabeln"];
          
            DataRelation relCustOrder;
            relCustOrder = new DataRelation("WrkData_Otpusk", parentCol, childCol);
       
            TotalDataSet.Relations.Add(relCustOrder);

ругань на это место

relCustOrder = new DataRelation("WrkData_Otpusk", parentCol, childCol);

Почему? Чот не так?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776773
Чунунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да кстати , вот текст ругани ...

Object reference not set to an instance of an object.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776774
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чугунокругань на это местоесли не содержит ненормативной лексики, то приведи текст ругани...
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776791
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проверь на null parentCol и childCol
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776859
Чунунок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В режиме останова свойства table колумнов = null ? Все имена верно указаны...
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776884
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поставил индексы таблиц и колумнов в них и заработало... Но у а чо по именам то не хочет?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 DataColumn parentCol = new DataColumn();
            DataColumn childCol = new DataColumn();


         
            // Code to get the DataSet not shown here.
            parentCol = TotalDataSet.Tables[ 7 ].Columns[ 7 ];
            childCol = TotalDataSet.Tables[ 13 ].Columns[ 2 ];
            // Create DataRelation.
            DataRelation relCustOrder;
            relCustOrder = new DataRelation("WrkData_Otpusk", parentCol, childCol);
            // Add the relation to the DataSet.
            TotalDataSet.Relations.Add(relCustOrder);
        }

...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776910
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имя неверно записал (типа, синтаксическая ошибка)
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32776988
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень частая ошибка:
есть 2 (два) отличия в написании слова: "name" и "nаmе"

на глаз не видно, но первое слово записано только латинскими буквами,
а во втором слове - две русские буквы: 'а' и 'е'.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32779246
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кузя , привет. Иди сюды пжлста...

Есть тут грабли...

Я применяю OleDbCommandBuilder для сохранения данных в таблицах базы после правки в датагриде... И прикол заключается вот в чем!

Для 19 таблиц все нормально работает! А вот для одной он вываливает вот это дерьмо

Ошибка синтаксиса (пропущен оператор) в выражении запроса '((код = ?) AND ((? = 1 AND сокр IS NULL) OR (сокр = ?)) AND ((? = 1 AND prem_den IS NULL) OR (prem_den = ?)) AND ((? = 1 AND prem_smen IS NULL) OR (prem_smen = ?)) AND ((? = 1 AND категория IS NULL) OR (категория = ?)) AND ((? = 1 AND 0р IS NULL) OR (0р ='.

Для других таблиц тот же код проходит на ура... Вот это кстати

Код: plaintext
1.
2.
3.
Adapter.SelectCommand.CommandText = "SELECT * from ТаблицаМоя"
            cmdBuilder = new OleDbCommandBuilder(Adapter); 
            Adapter.Update(TotalDataSet,"ТаблицаМоя" );

Ключ первичный в этой таблице есть... Всякой швали типа значение по умолчанию или условие на значение ни у одного поля нет...Таблица как таблица ...

Что за ботва , не пойму... Для других таблиц этот же код работает ,а для этой, короче закопался ...
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32779332
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть подозрение, что имя поля 0р начинается с цифры. или разубеди что это не так, или ставь QuotePrefix/QuoteSuffix в билдере.
---
Что за ботва , не пойму (с)
Чугун и Чугунок - сколько вас ?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32779361
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ай да красавец кузя...

ай маладца...

ТОЧНО, поля в натуре начинались с цифры. исправил и все забегало...

Чугун и чугунок это я бедный и несчастный программер...


А вот ты маладес!!! А вот жму я тебе руку!!!!
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32781774
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как мне забиндить текстовое поле?

Ну например на форме есть куча полей и правя в них значения изменения тут же пишутся в базу.

Как это организовать?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782208
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
модель работы с данными не та.

изменения пишутся в БД только по запросам типа dataAdapter.Update или через команды для connection'a.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782220
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но тогда зачем биндинг сделан? Ведь можно держать соединение постоянно.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782251
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
binding - для данных в твоей программе. и работа с БД - твоя головная боль - когда данные в программе синхронизовать с данными в БД.
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782317
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ясно.

А как тогда забиндить текстбокс с полем таблицы ДатаСета?
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782336
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что нибудь из этого (способов много):

this.textBox1.DataBindings.Add("Text", dataSet, "имя_таблицы.имя_столбца");
this.textBox1.DataBindings.Add("Text", dataTable, "имя_столбца");
...
Рейтинг: 0 / 0
Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
    #32782357
Чугун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Концептуальный вопрос. Как верно начать? Клиент под Access на С#.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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