Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Betelgeuse7
1 / 1 / 0
Регистрация: 13.10.2013
Сообщений: 99
1

Ошибки при изменении значений полей таблицы

03.04.2016, 14:48. Просмотров 322. Ответов 1
Метки нет (Все метки)

Прошу помощи. Выходят ошибки. По сути на форме можно изменить значение поля (например, номера документа). При изменении номера можно нажать кнопку сохранить и номер документа должен измениться и в БД. Но не получается. Сначала, при изменении номера, почему-то изменялись поля Название и Описание документа (просто стирались все символы, кроме первого) и так сохранялось в БД. Потом вообще стала вылезать ошибка (см. скрин). С чем она может быть связана? (если попытаться создать новый документ и нажать кнопку сохранить, то вылезает опять та же ошибка с DkId, что на скрине)
Код кнопки сохранить тоже прилагается.
Кликните здесь для просмотра всего текста
C#
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
private void btnSohr_Click(object sender, EventArgs e)
        {
            SqlCommand saveCommand = new SqlCommand();
            saveCommand.CommandType = CommandType.StoredProcedure;
            SqlParameter prm1 = null;
 
            prm1 = new SqlParameter("ID", SqlDbType.BigInt);
            prm1.Direction = ParameterDirection.InputOutput;
            prm1.Value = Int32.Parse(strID);
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocName", SqlDbType.VarChar);
            prm1.Direction = ParameterDirection.Input;
            prm1.Value = tbNazvanieSD.Text;
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocDate", SqlDbType.DateTime);
            prm1.Direction = ParameterDirection.Input;
            CultureInfo clt = CultureInfo.CreateSpecificCulture("en-US");
            if (tbDataRegistr.Text.Substring(0, 2) == "  ")
            {
                prm1.SqlValue = DBNull.Value;
            }
            else
            {
                System.DateTime dt1 = System.DateTime.Parse(tbDataRegistr.Text.Substring(3, 2) + "." + tbDataRegistr.Text.Substring(0, 2) 
                    + "." + tbDataRegistr.Text.Substring(6), clt);
                prm1.SqlValue = dt1;
            }
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocNum", SqlDbType.VarChar);
            prm1.Direction = ParameterDirection.Input;
            prm1.Value = tbNomer.Text;
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocDesc", SqlDbType.VarChar);
            prm1.Direction = ParameterDirection.Input;
            prm1.Value = tbOpisanieSD.Text;
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DvId", SqlDbType.Int);
            prm1.Direction = ParameterDirection.Input;
            if (cbVid.SelectedIndex == -1)
            {
                MessageBox.Show("Необходимо выбрать вид документа!");
                return;
            }
            prm1.Value = int.Parse(cbVid.SelectedValue.ToString());
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DkId", SqlDbType.Int);
            prm1.Direction = ParameterDirection.Input;
            if (cbKorr.SelectedIndex == -1)
            {
                MessageBox.Show("Необходимо выбрать корреспондента!");
                return;
            }
            prm1.Value = int.Parse(cbKorr.SelectedIndex.ToString());
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocDateIsp", SqlDbType.DateTime);
            prm1.Direction = ParameterDirection.Input;
            if (tbDataIsp.Text.Substring(0, 2) == "  ")
            {
                prm1.SqlValue = DBNull.Value;
            }
            else
            {
                System.DateTime dt2 = System.DateTime.Parse(tbDataIsp.Text.Substring(3, 2) + "." + tbDataIsp.Text.Substring(0, 2) + "." 
                    + tbDataIsp.Text.Substring(6), clt);
                prm1.SqlValue = dt2;
                   
 
            }
            saveCommand.Parameters.Add(prm1);
 
            prm1 = new SqlParameter("DocInpOut", SqlDbType.Bit);
            prm1.Direction = ParameterDirection.Input;
            if (tbVISD.Text == "Входящие")
                prm1.Value = 1;
            else
                prm1.Value = 0;
            saveCommand.Parameters.Add(prm1);
0
Миниатюры
Ошибки при изменении значений полей таблицы  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2016, 14:48
Ответы с готовыми решениями:

Вывод значений одного из полей таблицы в combobox
Программисты, подскажите пожалуйста. Есть некий справочник и в нем 2 поля вот как вывести в...

Firebird, как реализовать обновление таблицы у клиента при её изменении на сервере
Добрый время суток! Подскажите кто-нибудь работал с событиями firebird? Точнее интересует...

Обновление полей класса при изменении значений
Привет всем! Есть статический класс, static class Level { public static string...

Запись значений полей при любом вводе, изменении, обновлении данных в форме
Чтобы не потерять введенные данные (например при случайной сбое в работе базы) нужно чтобы при...

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

1
ITALIANEZ
56 / 55 / 17
Регистрация: 28.07.2009
Сообщений: 201
04.04.2016, 14:43 2
создайте разные параметры, а не используйте один и тот же prm1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 14:43

составить программу построения таблицы значений функции при изменении аргумента
Ребята выручите буду очень благодарен. 2) Для формулы F(x)= (arcsin(x+y))/(x+y) составить...

Сохранение значений полей формы при переходе на пустую запись таблицы
Добрый день! Вопрос следующий. Есть форма, привязанная к таблице. Перехожу на новую запись,...

Поле таблицы как сумма значений полей другой таблицы
Здравствуйте. В процессе создания БД столкнулся с проблемой, которую сам решить уже не могу. Есть 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru