Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
На строку кода : //сохранить изменения sqlDataAdapter1.Update(dataset11,"modules"); // дебаггер выдает системную ошибку. Что конкретно не так в коде непонятно :( Разве что ошибка не синтаксическая. Что делать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 17:07 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
приведи полный текст "системной ошибки" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 17:21 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
может таблицы modules нет в этом dataset'e? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 17:25 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
Причин может быть куча: 1. Если обращаешься к таблице - синтаксическая ошибка запроса, несоответствие типов. 2. Если обновление идет через хранимые процедуры - ошибка в процедуре, отсутствие такой процедуры в твоей схеме, ошибка в создании параметров (adapter.insertCommand.parameters.add(параметры)). Надо для каждого параметра указывать тип,длину, SourceComumn(типа из какой колонки таблицы он берется/кладется). Вроде все... Если пользуешься SQL Server, то довольно неплохой способ отладки - запустить profiler и посмотреть, на какой именно команде все затыкается, и попробовать выполнить ее ручками (так определишь, где ошибка - на клиенте или сервере). А еще лучше - покажи куски кода создания Adapter'a и прочее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2003, 19:10 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
Ошибка была в хранимой процедуре. Пришлось ,правда, все пересматривать и перепроверять :( Сразу ведь непонятно было что происходит... Хорошо хоть кода пока немного, не так сложно все перепроверить . Зато теперь работает! Спасибо всем за советы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 09:51 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll Additional information: System error. Это текст ошибки. Она у меня и сейчас появляется периодически :( Может кто знает что это значит?? Кроме того что ошибка на клиенте, конечно..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 14:02 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
Все-таки покажи код, создающий Adapter, и код процедуры. Кстати, указанное тобой исключение у меня выскакивало, когда один из параметров процедуры был с неуказанной длиной (NVarChar, указывать ее обязательно и на клиенте и на сервере). Оно же происходит при ЛЮБЫХ ошибках выполнения процедур (в т.ч. когда что-то не так на самом сервере). Предположение: может, ты неправильно обошелся с первичным ключом таблицы при вставках? http://www.gotdotnet.ru/default.aspx?s=faqs&d_no=34487#f165" TARGET="_blank">Тогда посмотри здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2003, 18:53 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
2NickKarev Все-таки покажи код, создающий Adapter, и код процедуры. Кстати, указанное тобой исключение у меня выскакивало, когда один из параметров процедуры был с неуказанной длиной (NVarChar, указывать ее обязательно и на клиенте и на сервере). Нет. Это уже не из-за параметров процедур - там вроде все в порядке. ALTER PROCEDURE [SERVER\bege].UpdateCommand ( @name varchar(40),@module_pr varchar(40),@descrip text, @grup varchar(40),@howtocall varchar(45),@security int, @inopenform bit,@order_gr int,@imagekey varchar(20), @Original_module_pr varchar(40),@Original_grup varchar(40), @Original_howtocall varchar(45),@Original_imagekey varchar(20), @Original_inopenform bit,@Original_name varchar(40), @Original_order_gr int,@Original_security int ) AS SET NOCOUNT OFF; UPDATE dbo.modules SET name = @name, module_pr = @module_pr, descrip = @descrip, grup = @grup, howtocall = @howtocall, security = @security, inopenform = @inopenform, order_gr = @order_gr, imagekey = @imagekey WHERE (module_pr = @Original_module_pr) AND (grup = @Original_grup) AND (howtocall = @Original_howtocall OR @Original_howtocall IS NULL AND howtocall IS NULL) AND (imagekey = @Original_imagekey OR @Original_imagekey IS NULL AND imagekey IS NULL) AND (inopenform = @Original_inopenform) AND (name = @Original_name) AND (order_gr = @Original_order_gr) AND (security = @Original_security OR @Original_security IS NULL AND security IS NULL); SELECT name, module_pr, descrip, grup, howtocall, security, inopenform, order_gr, imagekey FROM dbo.modules WHERE (module_pr = @module_pr) Создаю уже 3ью форму с самым простым примером и опять та же ошибка Оно же происходит при ЛЮБЫХ ошибках выполнения процедур (в т.ч. когда что-то не так на самом сервере). И с сервером - порядок.. Возникло подозрение что Update() неправильно использую - но без него изменения не сохраняются.Может как-то иначе их сохранять??? private void Form1_Load(object sender, System.EventArgs e) {this.sqlDataAdapter1.Fill(dataSet11);} private void Form1_Closed(object sender, System.EventArgs e) { {this.sqlDataAdapter1.Update(this.dataSet11,this.dataSet11.Tables[0].TableName);} Но работало ведь, транзакции закрывал и на сервере данные изменялись, а теперь стопорится на Update() и дальше никак :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 13:22 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
2 Bege: Ты умудрился не показать самый интересный участок кода :) - создание DataAdapter (он создается в функции InitializeComponent в форме). Лучше всего будет, если кинешь мне на мыло весь код (sql для создания БД и проект). На всякий случай, подкидываю еще области для раздумий: - Метод Update у DataAdapter просматривает всю указанную таблицу, и для записей, помеченных как добавленные/измененные/удаленные выполняет соответствующие команды (DataAdapter.InsertCommand, DataAdapter.DeleteCommand,DataAdapter.UpdateCommand, причем Select в твоей UpdateCommand может быть бесполезен, если ты не поставил руками обнвление DataSet из первой выбранной записи (ms-help://MS.NETFrameworkSDKv1.1/cpguidenf/html/cpconusingparameterswithdataadapters.htm)). Если у тебя на таблице висят триггеры, которые что-то меняю и ты хочешь сразу видеть эти изменения, помечай параметры как OUT на сервере и на клиенте и передавай изменения через них. Да, если на таблицу повешены триггеры, то ошибки могут происходить и в них, а виноватым опять окажется DataAdapter.Update Для нормальной работы DataAdapter'a надо ОБЯЗАТЕЛЬНО приделать к нему все три команды DML(InsertCommand,DeleteCommand,UpdateCommand, даже если ты делаешь изменения, вроде бы не требующие наличия всех команд), так что не зацикливайся на UpdateCommand. В общем, лучше все же пошли проблеммный проект и БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2003, 19:59 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
2NickKarev >Ты умудрился не показать самый интересный участок кода :) Код-то тут оказался ни причем :) Опытным путем (испытанием всех таблиц базы Updat'ом) , было выяснено что не апдейтятся только таблицы в которых есть поля типа text. Изменяю на varchar -и все работает! В чем причина такой реакции Ms Sql не представляю, Хотя интересно было бы узнать ;) Но бороться я с ним не буду - пусть будут varchar ! ALTER PROCEDURE [SERVER\bege].UpdateCommand ( @name varchar(40),@module_pr varchar(40),@descrip text, @grup varchar(40),@howtocall varchar(45),@security int, @inopenform bit,@order_gr int,@imagekey varchar(20), @Original_module_pr varchar(40),@Original_grup varchar(40), @Original_howtocall varchar(45),@Original_imagekey varchar(20), @Original_inopenform bit,@Original_name varchar(40), @Original_order_gr int,@Original_security int ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 10:39 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
2NickKarev >Ты умудрился не показать самый интересный участок кода :) Код-то тут оказался ни причем :) Опытным путем (испытанием всех таблиц базы Updat'ом) , было выяснено что не апдейтятся только таблицы в которых есть поля типа text. Изменяю на varchar -и все работает! В чем причина такой реакции Ms Sql не представляю, Хотя интересно было бы узнать ;) Но бороться я с ним не буду - пусть будут varchar ! ALTER PROCEDURE [SERVER\bege].UpdateCommand ( @name varchar(40),@module_pr varchar(40),@descrip text, @grup varchar(40),@howtocall varchar(45),@security int, @inopenform bit,@order_gr int,@imagekey varchar(20), @Original_module_pr varchar(40),@Original_grup varchar(40), @Original_howtocall varchar(45),@Original_imagekey varchar(20), @Original_inopenform bit,@Original_name varchar(40), @Original_order_gr int,@Original_security int ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 10:39 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
Здесь энто описано, но вроде все должно работать . Настораживает то, что text - по не-Unicode тип, а string в c# - unicode. Глюк мог быть в момент маршилинга в SqlDbType.Text или во время преобразования строки dataSet (может, он неправильный?) Если захочешь использовать длинный текст, попробуй делать так: System.Text.Encoding enc=System.Text.Encoding.GetEncoding(типа unicocde); byte[] data=enc.getBytes(строка); а потом эти bytes[] спокойно можно писать в БД как image (проверял) Истина где-то рядом.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 20:36 |
|
||
|
sqlDataAdapter.Update()
|
|||
|---|---|---|---|
|
#18+
...будем искать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 10:03 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32275044&tid=1439965]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 26ms |
| total: | 181ms |

| 0 / 0 |
