|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Подгружаю данные в через dataAdapter.Fill(dataset,dataTable), создаю sqlcommandbuilder(dataAdapter). Меняю данные в gridview и при попытке dataadapter.Update, выскакивает ошибка типа невозможно сделать Update для таблицы без ключевого столбца. В таблице есть один столбец, который всегда уникальный, но он не ключевой. После заливки данных я делал его ключом dataTable.PrimaryKey=new DataColumn[] { 'уникальный столбец' }. Но все равно вываливается исключение, подскажите как возможно сделать update таблицы без ключевого поля. P.S. Не нужно совета типа сделай его ключом на SQL Server, это в моем случае не возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 19:45 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452, используя sqlcommandbuilder без PrimaryKey сделать update или delete нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 20:40 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
ну если ключевой столбец есть, в чем проблема добавить его в запрос и просто не отображать на экране? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 21:00 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Axeleronlex452, используя sqlcommandbuilder без PrimaryKey сделать update или delete нельзя. значит SqlDataAdapter.UpdateCommand свою задать нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 21:52 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Roman Mejtes, Ключевого столбца нет, есть столбец с уникальными данными, но он не определен как ключевой ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 22:02 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Axeleron, А зачем тогда у datatable tcnm cdjqcndj PrimaryKey, если задав его все равно не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 22:04 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452Ключевого столбца нет, есть столбец с уникальными данными, но он не определен как ключевой ну дык сам нарисуй UpdateCommand вместо автогенерённого говнокода ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 22:04 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Изопропил, много разнородных таблиц, это трудоемко. и хотелось бы универсальный метод, на случай добавления новых таблиц в базу. Или я не совсем точно пониманию, что значит нарисовать свой? Можно поконкретнее? Самому прописывать запросы Update для каждой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 22:09 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Изопропил, Какие то данные без ключевого поля это уже не нормально, человек не правильно, что то делает. Нужно выделить эти данные в отдельную сущность ключом которой и будет это "уникальное поле", нафига городить какую то жесть? можно задать все методы вставки, обновления и т.д. но это лишь усложнит сопровождение кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2016, 22:41 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452много разнородных таблиц много - это сколько сотен? и все без первичного ключа? Roman MejtesКакие то данные без ключевого поля это уже не нормально, человек не правильно, что то делает. утверждает, что исправить кривые структуры данных - не может ( в первом же посте) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 00:48 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Изопропил, не сотни конечно, не на столько много, просто есть вероятность что они будут добавляться или меняться. Мне не понятно почему после того как я делаю колонку PrimaryKey в dataTable генератору этого не достаточно(( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 13:13 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452Мне не понятно почему после того как я делаю колонку PrimaryKey в dataTable генератору этого не достаточно Потому что при автогенерации сведения о ключе беруться из базы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 13:54 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Cat2, А на кой тогда вообще эта функция? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 13:55 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452Cat2, А на кой тогда вообще эта функция? "PrimaryKey в dataTable" ? DataTable не эквивалентно таблице в базе. Это - модель. DataTable может быть даже если такой таблицы в базе не существует, например, в ней может отображаться соединение таблиц, причем без создания в базе представления. DataTable.Find(...) работает только при наличии первичного ключа. DataUdapter.Fill работает по разному, в зависимости от того указан ли для dataTable первичный ключ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2016, 14:05 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
Решил проблему генерацией запросов вручную используя RowState из datatable. Я генерирую запросы INSERT, UPDATE и DELETE без использования SqlParameters (так как таблиц много и хочется прописывать типы колонок для каждой). То есть я делаю запрос в явном виде используя считанные значения измененных ячеек и просто выполняю его на сервере. Они выполняются без проблем. Получается ситуация что на сервере я данные обновил, в программе статус строк так и остался измененный. Возможно ли изменить статус строки в DataTabe на неизмененная не загружая заново данные с сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 14:55 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452, да ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 15:58 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
ViPRos, Как? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 16:00 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452, acceptchanges ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 16:13 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
ViPRos, Это не то. После вызова этого метода у строк остается их State (удаленная, добавленная и измененная) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 19:51 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452ViPRos, Это не то. После вызова этого метода у строк остается их State (удаленная, добавленная и измененная) не пи..ди ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2016, 20:13 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
ViPRos, ты хочешь сказать что я меняю данные в Datatable, потом (допустим) не изменяя их на сервере делая acceptchanges и у строк State становится неизмененные? Я так пробовал это не так ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2016, 22:12 |
|
sqlcommandbuilder не обновляет таблицу без ключевого поля
|
|||
---|---|---|---|
#18+
lex452, хреново пробовал ты хоть документацию иногда читаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2016, 01:46 |
|
|
start [/forum/topic.php?fid=20&msg=39186422&tid=1400747]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 164ms |
0 / 0 |