Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В таблице появляются несколько одних и тех же строк при записи. / 23 сообщений из 23, страница 1 из 1
24.02.2017, 20:22
    #39410034
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Здравствуйте. Столкнулся с такой проблемой, при записи одной строки, через некоторое время в таблице появляются одни и те же строки. Использую Devart.Data.dll,Devart.Data.Oracle.dll
Файл работы с базой:
Код: 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.
public partial class DAL
    {
        
        private string ConnectionString
        {
            get
            {
                return RAB_UCHET.Properties.Settings.Default.ConnectionString;
            }
        }
        public OracleConnection OracleConnection
        {
            get
            {
                if (this.oracleConnection == null)
                {
                    this.oracleConnection = new OracleConnection(this.ConnectionString);
                    oracleConnection.Unicode = true;
                    oracleConnection.Open();
                }
                
                return this.oracleConnection;
            }
        }
        public void UpdInsQuare(string queryString)
        {
            try{
                OracleCommand command = new OracleCommand(queryString, this.OracleConnection);
                //OracleConnection.Open();
                command.ExecuteNonQuery();
                //OracleConnection.Commit();
                
                queryString = "";
            }
            catch
            {
            }
        }
public bool Commit()
        {
            UpdInsQuare("Commit;");
            return true;
        }
        public bool AddEmployer(Employer emp)
        {
            try
            {
                queryString = "insert into EMPLOYESS(HID,PERSON_NUMBER,SURNAME_EMPLOYER,NAME_EMPLOYER,PATRONOMIC_EMPLOYER,HID_ORGANIZATION,HID_DEPARTMENT,POST,ID_CARD)" +
                    "values(EMPLOYESS_HID.NEXTVAL,'" + emp.PersonNumber +
                    "','"  + emp.SurnameEmployer + "','" + emp.NameEmployer + "','" + emp.PatronomicEmployer +
                    "','" + emp.HID_ORGANIZATION + "','" +  emp.HID_DEPARTMENT + "','" + emp.Post +"','"+emp.ID_Card+"')";

               UpdInsQuare(queryString);
               Commit();
               queryString = "";
            }
            catch
            {
                return false;
            }
            return true;
        }
}


Файл диалога
Код: 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.
public partial class fNewEmployer : Form
    {
//public Employer NewEmployer { get; private set; }
        DAL dal = new DAL();
        public fNewEmployer()
        {
            InitializeComponent();
        }

        private void bt_save_Click(object sender, EventArgs e)
        {
            if (tb_name.Text.Trim() == string.Empty ||
                tb_surname.Text.Trim() == string.Empty ||
                tb_patronomic.Text.Trim() == string.Empty ||
                tb_personNumber.Text.Trim() == string.Empty ||
                cb_nameOrg.Text.Trim() == string.Empty ||
                cb_nameDep.Text.Trim() == string.Empty ||
                tb_Post.Text.Trim() == string.Empty ||
                tb_idCard.Text.Trim() == string.Empty)
            {
                lb_mess.Text = "Не все поля заполнены.";
                lb_mess.BackColor = Color.Red;
                return;
            }

            dal.AddEmployer(new Employer(string.Empty, tb_personNumber.Text.Trim(), tb_surname.Text.Trim(), tb_name.Text.Trim(), tb_patronomic.Text.Trim(), dal.SelOrg(cb_nameOrg.Text.Trim()),
            dal.SelHidDep(cb_nameDep.Text.Trim()), tb_Post.Text.Trim(), tb_idCard.Text.Trim()));
            DialogResult = DialogResult.OK;
        }
private void fNewEmployer_Load(object sender, EventArgs e)
        {
            cb_nameOrg.Items.Clear();
            foreach (string item in dal.SelNameOrg())
            {
                cb_nameOrg.Items.Add(item);
            }
        }

        private void cb_nameDep_Click(object sender, EventArgs e)
        {
            if (cb_nameOrg.Text.Trim() != string.Empty)
            {
                cb_nameDep.Items.Clear();
                foreach (string item in dal.SelNameDepartaments(cb_nameOrg.Text.Trim()))
                {
                    cb_nameDep.Items.Add(item);
                }
            }
        }
}
...
Рейтинг: 0 / 0
24.02.2017, 20:25
    #39410036
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Не полностью оформленный test case немногим лучше отсутствия оного.

Проблема не в оракле - на один атом менее 100%.
...
Рейтинг: 0 / 0
24.02.2017, 22:41
    #39410079
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Можете посоветовать мне что делать?Или вопрос нужно переместить на C#.
...
Рейтинг: 0 / 0
25.02.2017, 00:29
    #39410098
daughter789
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
определи появляются записи когда поделка запущена и нет
...
Рейтинг: 0 / 0
25.02.2017, 01:02
    #39410102
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456,

У продукта ODAC от DevArt, которым ты пользуешся есть SQL*Monitor. Включи его и посмотри какие команды твоя поделка фигачит.
...
Рейтинг: 0 / 0
25.02.2017, 21:03
    #39410219
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Как его включить, у меня всего две dll.
...
Рейтинг: 0 / 0
25.02.2017, 22:38
    #39410241
В таблице появляются несколько одних и тех же строк при записи.
son456
Код: c#
1.
2.
3.
4.
5.
6.
                queryString = "insert into EMPLOYESS(HID,PERSON_NUMBER,SURNAME_EMPLOYER,NAME_EMPLOYER,PATRONOMIC_EMPLOYER,HID_ORGANIZATION,HID_DEPARTMENT,POST,ID_CARD)" +
                    "values(EMPLOYESS_HID.NEXTVAL,'" + emp.PersonNumber +
                    "','"  + emp.SurnameEmployer + "','" + emp.NameEmployer + "','" + emp.PatronomicEmployer +
                    "','" + emp.HID_ORGANIZATION + "','" +  emp.HID_DEPARTMENT + "','" + emp.Post +"','"+emp.ID_Card+"')";

               UpdInsQuare(queryString);




Так программировать нельзя, это верный путь к SQL Injection.

А ещё в заголовке окна опечатка: "выбРать служащего"
...
Рейтинг: 0 / 0
25.02.2017, 23:16
    #39410257
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
        public bool AddEmployer(Employer emp)
        {
            try
            {
                queryString = "insert into EMPLOYESS(HID,PERSON_NUMBER,SURNAME_EMPLOYER,NAME_EMPLOYER,PATRONOMIC_EMPLOYER,HID_ORGANIZATION,HID_DEPARTMENT,POST,ID_CARD)" +
                    "values(EMPLOYESS_HID.NEXTVAL,'" + emp.PersonNumber +
                    "','"  + emp.SurnameEmployer + "','" + emp.NameEmployer + "','" + emp.PatronomicEmployer +
                    "','" + emp.HID_ORGANIZATION + "','" +  emp.HID_DEPARTMENT + "','" + emp.Post +"','"+emp.ID_Card+"')";

               UpdInsQuare(queryString);
               Commit();
               queryString = "";
            }
            catch
            {
                return false;
            }
            return true;
        }



глобально-бессмысленные переменные и задавливание ошибки
жалко, что расстрелы отменили
...
Рейтинг: 0 / 0
26.02.2017, 10:28
    #39410320
А?
А?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456,

Я не пойму, ты че, в винде не выставил галочку "Использовать маленькие кнопки в панели задач"?
...
Рейтинг: 0 / 0
26.02.2017, 11:28
    #39410322
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Если критикуете, тогда пишите как должен выглядеть код.
...
Рейтинг: 0 / 0
26.02.2017, 11:42
    #39410325
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Код: c#
1.
У продукта ODAC от DevArt, которым ты пользуешся есть SQL*Monitor. Включи его и посмотри какие команды твоя поделка фигачит.


Я скачал программу dbmonitor.exe вы о ней говорили. Или в моих dll есть уже монитор и его нужно включить.
...
Рейтинг: 0 / 0
26.02.2017, 19:59
    #39410453
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Если критикуете, тогда пишите как должен выглядеть код.Пойми, на свободных форумах никто никому ничего не должен. Тем более ламерам.
...
Рейтинг: 0 / 0
26.02.2017, 20:14
    #39410458
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Если критикуете, тогда пишите как должен выглядеть код.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
        public bool AddEmployer(Employer emp)
        {
            string queryString;
            try
            {
                queryString = "insert into EMPLOYESS(HID,PERSON_NUMBER,SURNAME_EMPLOYER,NAME_EMPLOYER,PATRONOMIC_EMPLOYER,HID_ORGANIZATION,HID_DEPARTMENT,POST,ID_CARD)" +
                    "values (EMPLOYESS_HID.NEXTVAL, :p_PersonNumber , :p_SurnameEmployer, :p_NameEmployer, :p_PatronomicEmployer, " +
                    ":p_HID_ORGANIZATION, :p_HID_DEPARTMENT, :p_Post, :p_ID_Card)";

               привязать переменные или создать массив переменных и передать его в UpdInsQuare
               UpdInsQuare(queryString);
               Commit();
               queryString = "";
            }
            catch
            {
                выдать сообщение или записать в лог или вообще не перехватывать
                return false;
            }
            return true;
        }
...
Рейтинг: 0 / 0
27.02.2017, 07:36
    #39410570
AnSi_Sr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
В bt_save_Click добавляется новая запись в БД.
P.S. См. еще "oracle bind variables" в гугле.
...
Рейтинг: 0 / 0
15.03.2017, 21:01
    #39420321
СвинопасЪ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Здравствуйте. Столкнулся с такой проблемой, при записи одной строки, через некоторое время в таблице появляются одни и те же строки. Использую Devart.Data.dll,Devart.Data.Oracle.dll
Файл работы с базой:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public partial class DAL
    {
        
        private string ConnectionString
        {
            get
            {
.......................................
      



Была как-то такая проблемка именно такая же ситуация - дублирование записи при вставке через некоторое время, достаточно просто решается. Какую версию сервера Oracle используете? Используется ли партиционирование? Какие версии библиотек ДевАрт?
...
Рейтинг: 0 / 0
15.03.2017, 21:06
    #39420325
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
СвинопасЪson456Здравствуйте. Столкнулся с такой проблемой, при записи одной строки, через некоторое время в таблице появляются одни и те же строки. Использую Devart.Data.dll,Devart.Data.Oracle.dll
Файл работы с базой:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public partial class DAL
    {
        
        private string ConnectionString
        {
            get
            {
.......................................
      



Была как-то такая проблемка именно такая же ситуация - дублирование записи при вставке через некоторое время, достаточно просто решается. Какую версию сервера Oracle используете? Используется ли партиционирование? Какие версии библиотек ДевАрт?внимательно буду слушать, как ответы на эти вопросы помогут решить проблему
...
Рейтинг: 0 / 0
16.03.2017, 02:09
    #39420409
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456
Код: c#
1.
У продукта ODAC от DevArt, которым ты пользуешся есть SQL*Monitor. Включи его и посмотри какие команды твоя поделка фигачит.


Я скачал программу dbmonitor.exe вы о ней говорили. Или в моих dll есть уже монитор и его нужно включить.а о нем не говорил. dbmonotor и sqlmonitor это - две большие разницы.
не помню, как точка нете, а в Делфи бросаешь компонент на форму TOraSQLMonitor.Activate to True и все.
там должно быть аналогично.
...
Рейтинг: 0 / 0
16.03.2017, 10:31
    #39420541
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Если критикуете, тогда пишите как должен выглядеть код.

Код должен выглядеть читаемо и соответствовать требованиям, принятым в отделе разработки. Можешь не благодарить.

вы б ать автора через некоторое время в таблице появляются одни и те же строки.
И через какое же время это происходит?
Покажите содержимое таблицы в БД до и после однократного добавления записи в таблицу БД.

Также можете повесить аудит на таблицу или включить трассировку своей сессии в СУБД.

з.ы. Items.Clear() точно отрабатывает?
...
Рейтинг: 0 / 0
24.03.2017, 10:02
    #39426306
son456
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
Что такое партиционирование? Как повесить аудит на таблицу? Как включить трассировку своей сессии в СУБД. Items.Clear() точно отрабатывает. У меня Oracle 11, Devart.Data.dll версия 5.0.792.0, Devart.Data.Oracle.dll версия 7.9.333.0
...
Рейтинг: 0 / 0
24.03.2017, 10:10
    #39426313
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Что такое партиционирование? Как повесить аудит на таблицу? Как включить трассировку своей сессии в СУБД.

Раз
Два
пока не будет прочитано - новых вопросов не пишите
...
Рейтинг: 0 / 0
24.03.2017, 14:49
    #39426567
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
son456Что такое партиционирование? Как повесить аудит на таблицу? Как включить трассировку своей сессии в СУБД. Items.Clear() точно отрабатывает. У меня Oracle 11, Devart.Data.dll версия 5.0.792.0, Devart.Data.Oracle.dll версия 7.9.333.0
Драйверы переустановить нужно.
...
Рейтинг: 0 / 0
24.03.2017, 15:43
    #39426613
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
mefmanson456Что такое партиционирование? Как повесить аудит на таблицу? Как включить трассировку своей сессии в СУБД. Items.Clear() точно отрабатывает. У меня Oracle 11, Devart.Data.dll версия 5.0.792.0, Devart.Data.Oracle.dll версия 7.9.333.0
Драйверы переустановить нужно.драйверы каждой партиции отдельно
...
Рейтинг: 0 / 0
24.03.2017, 22:56
    #39426869
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В таблице появляются несколько одних и тех же строк при записи.
andreymxmefmanпропущено...

Драйверы переустановить нужно.драйверы каждой партиции отдельно
Разумеется. А как же иначе?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В таблице появляются несколько одних и тех же строк при записи. / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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