powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
25 сообщений из 38, страница 1 из 2
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32611606
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот какая трабла: Данные выводятся из одной строка базы в 3 textBoxа, в которых происходит их редактирование, затем изменения должны поступить в базу, но... они, видимо, кому должны, всем простили...
код:

oleDbConnection1.Open();
oleDbDataAdapter1.UpdateCommand.Parameters["NAME"].Value = tBName.Text;
oleDbDataAdapter1.UpdateCommand.Parameters["ADDRESS"].Value = tBAdrDolz.Text;
oleDbDataAdapter1.UpdateCommand.Parameters["PHONE"].Value = tBPhoneSal.Text;
BindingContext[dS_Clercs1,"CLERCS"].EndCurrentEdit();
dS_Clercs1.AcceptChanges();
oleDbDataAdapter1.Update(dS_Clercs1,"CLERCS");
oleDbConnection1.Close();


Если пишу
oleDbDataAdapter1.UpdateCommand.ExecuteNonQuery(); ,
то ошибка
An unhandled exception of type 'System.InvalidCastException' occurred in system.data.dll

Additional information: Specified cast is not valid.


Знающие, скажите, что не так, пжлст?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32611626
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dS_Clercs1.AcceptChanges(); // <--- "скушала" все обновления

убери или поставь после Update, иначе, действительно, ничего не будет обновляться в БД
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612223
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда точно такая же ошибка возникает на

oleDbDataAdapter1.Update(dS_Clercs1,"CLERCS");
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612237
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо проверить типы параметров, возможно что-то не совпадает
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612373
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну.. с типами вроде все в порядке. Если можно проверить вот так:
MessageBox.Show(dS_Clercs1.CLERCS.Columns[1].ColumnName.GetType().ToString());
То здесь стринг. TextBox тоже стринг. Или я не в этом направлении проверяю?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612465
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например,

oleDbDataAdapter1.UpdateCommand.Parameters["PHONE"].SqlDbType
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612472
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не SqlDbType, то OleDbType ну что-то в этом роде :)
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612515
Гретт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишет VarChar. Хм.... Что же делать?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612528
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе данных теже самые типы используются?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612533
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612579
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видно, без полного кода для адаптера и команд не обойтись.

1. данные из одной таблицы БД ?
2. почему явно присваиваешь значения, а не берешь из DataSet (DataTable) ?
3. SourceVersion (это для таблицы) ?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612676
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю в VS . NET => ручками мало что прописываю. Вот
this.oleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter();
this.oleDbDeleteCommand1 = new System.Data.OleDb.OleDbCommand();
this.oleDbConnection1 = new System.Data.OleDb.OleDbConnection();
this.oleDbInsertCommand1 = new System.Data.OleDb.OleDbCommand();
this.oleDbSelectCommand1 = new System.Data.OleDb.OleDbCommand();
this.oleDbUpdateCommand1 = new System.Data.OleDb.OleDbCommand();


Данные из одной таблицы

Код: plaintext
1.
 2 . почему явно присваиваешь значения, а не берешь из DataSet (DataTable) ?
А какая разница?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612839
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДелаю в VS . NET => ручками мало что прописываю
[skip]
А какая разница?
да вот разница в том, что там где прошелся ручками - там и возникли ошибки. VS Designer сгенерил то update для таблицы и адаптер пытается выполнить update для таблицы. а оказывается что все это не так, и обновление нужно делать не через таблицу, и версии Row здесь тоже не пришей ни чему. вот и возникли непонятки. Попробуй закоментарить строки с присваиванием Value, оставь только:
Код: plaintext
1.
BindingContext[dS_Clercs1,"CLERCS"].EndCurrentEdit();
oleDbDataAdapter1.Update(dS_Clercs1,"CLERCS"); 
если, конечно, у тебя Binding TextBox'ов идет по dataset, а в качестве мемберов указаны CLERCS.NAME, CLERCS.ADDRESS и тд.
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612897
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оф топик
Блин, что ж так сложно-то все...
оф топик
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612951
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<off
по моему это ты сам себе усложнил жизнь - ну зачем было руками доделывать код, который практически рабочий. всего и нужно было добавить binding'и для TextBox'ов. работы по кодированию на 2 минуты, куда больше на рисование формы времени потратил...
/>
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612972
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а если так:
вывожу данные в datagrid (dataSource = dataSet), тут же в ячейках делаю изменения; что теперь надо написать в коде, чтобы внести обновления в саму базу?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32612987
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузя<off
по моему это ты сам себе усложнил жизнь />

Просто я только начинаю - много нового для себя узналА =)
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613012
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторузналА
Извини...

если соединение с БД не закрывалось, то:
Код: plaintext
1.
currencyManager.EndCurrentEdit();
adapter.Update();
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613068
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кузя авторузналА
Извини...

[/src]
Ничего!

авторесли соединение с БД не закрывалось, то:
[src]currencyManager.EndCurrentEdit();
adapter.Update();

Мне уже как-то не удобно... но в этом случае опять на месте

oleDbDataAdapter1.Update(dS_Clercs1,"CLERCS");

ругань:
An unhandled exception of type 'System.InvalidCastException' occurred in system.data.dll

Additional information: Specified cast is not valid.
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613113
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.в гриде все нормально показывает ?
2.есть ли у таблицы PK ?

тогда (оба ответа "да") попробуй так:
вывод таблицы в грид
Код: plaintext
dataGrid.SetDataBinding(dataSet, "CLERCS");
и внесение изменений в БД
Код: plaintext
1.
2.
CurrencyManager cm=dataGrid.BindingContext[dataGrid.DataSource, dataGrid.DataMember] as CurrencyManager;
if(cm!=null) cm.EndCurrentEdit();
adapter.Update(dataSet, "CLERCS");
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613335
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так таблица в грид не выводится. РК - это что?
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613364
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
primary key
без него команды на Update и Delete даже и не строятся в Designer'e (PK используется в WHERE кляузе этих команд)
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613423
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно, спасибо, просвятил. РК имеется. Проблема остается
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613453
Греттт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что это за ошибка:
Код: plaintext
1.
2.
3.
An unhandled exception of type 'System.InvalidCastException' occurred in system.data.dll

Additional information: Specified cast is not valid.
???
...
Рейтинг: 0 / 0
Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
    #32613459
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а содержимое таблицы почему не видно в гриде ?
в ней есть строки ?
заголовки колонок соотвествуют названиям полей ?
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите : НУ Не ОБНОВЛЯЕТСЯ и все тут
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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