Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Как сделать так, чтобы когда юзер делает изменения в DataGrid они сразу апдэйтились в базу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 15:02 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
попробуй подписаться на событие CurrencyManager.ItemChanged и в нем вызывать adapter.Update(..); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 15:33 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Update с какими параметрами? у него есть разные варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 17:06 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Я так пробовал: Но что примечательно, изменяю одну строку, дает в параметре заполняет массив одной строкой, хорошо, изменяю следующую - уже пишет две строки, т.е. накапливает количество, а вот в базу так ничего и не пишет. private void UpdateRows(DataRow[] row) { sqlConnection1.Open(); sqlDataAdapter1.Update(row); sqlConnection1.Close(); } private void Row_Changed( object sender, DataRowChangeEventArgs e ) { DataRow[] myDataRowArray = dataSet1.Tables[0].Select(null, null, DataViewRowState.ModifiedCurrent); UpdateRows(myDataRowArray); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 17:10 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
а команды на insert, update и delete опреелены в sqlDataAdapter1. если так, делай проще: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 17:24 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Странно, на первой же записи, которую редактировал и с нее сошел - ставит воскл. знак (concurrency violation: the updatecommand affectd 0 records). На остальных уже ничего не ставит, но изменения так в базу и не попадают.... :-( Може UpdateCommand как-то по-другому нужно создать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 17:35 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Вот моя UpdateCommand: Може при помощи exception можно отловить ошибку? // // sqlUpdateCommand1 // this.sqlUpdateCommand1.CommandText = @"UPDATE globalparams SET param_name = @param_name, param_value = @param_value, param_description = @param_description WHERE (param_name = @Original_param_name) AND (param_value = @Original_param_value) AND (param_description = @Original_param_description); SELECT param_name,param_value, param_description FROM globalparams WHERE (param_name = @param_name)"; this.sqlUpdateCommand1.Connection = this.sqlConnection1; this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@param_name", System.Data.SqlDbType.NVarChar, 128, "param_name")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@param_value", System.Data.SqlDbType.NVarChar, 64, "param_value")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@param_description", System.Data.SqlDbType.NVarChar, 128, "param_description")); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_param_name", System.Data.SqlDbType.NVarChar, 128, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "param_name", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_param_value", System.Data.SqlDbType.NVarChar, 64, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "param_value", System.Data.DataRowVersion.Original, null)); this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_param_description", System.Data.SqlDbType.NVarChar, 128, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "param_description", System.Data.DataRowVersion.Original, null)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 17:38 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
редактруемая запись не содержит полей с NULL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 18:38 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Намыль вот сюда oxlopka4513@yahoo.com, что тебе не понятно, я тебе пришлю пример! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2003, 16:01 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
Хотелось бы в этом обработчике пройтись по дорожке и увидеть, где изменялись значения, а где нет, как это можно сделать? Думаю поставить здесь апдэйт в базу для каждого cell. private void Row_Changed( object sender, DataRowChangeEventArgs e ) { foreach( DataColumn c in e.Row.Table.Columns ) { Console.Write( "{0}\n",e.Row[c]); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:30 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
это можно. факт то, что реально у тебя записи в DataSet изменяются, однако update в БД не проходит. это может быть в случае твоей ручной "оптимизации" запроса, где ты стер куски типа: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:53 |
|
||
|
Изменения в гриде->автоматически в базу
|
|||
|---|---|---|---|
|
#18+
В данном случае вопрос немного не в этом: На сообщении я получаю дорожку, с которой ушел, все значения в колонках, все хорошо. Мне нужно для каждой ячейки вызвать процедуру для изменения значения, это тоже нормально, поскольку датасет, грид заполняются вручную, так вот каждый раз при попадании в этот обработчик не хочется попусту делать апдэйты для всех колонок, ведь мы будем попадать сюда и в том случае, когда юзер просто щелкает по дорожкам ничего не изменяя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2003, 15:57 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=1043&tid=1439869]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 374ms |

| 0 / 0 |
