powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как хранить счетчик с номерами накладных
25 сообщений из 35, страница 1 из 2
Как хранить счетчик с номерами накладных
    #38352577
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. В данный момент пишу программу склад. В данной программе будут печататься накладные. Мне нужно чтобы при нажатии на кнопку "сформировать накладную", выводилась накладная под порядковым номером. Т.е сначала накладная номер 1, потом 2 и т.д. При этом данный номер чтоб заносился в БД. Как мне это реализовать и как сделать так чтобы при закрытии программы данный счетчик не сбивался, а наоборот сохранялся и выдавал нужный порядковый номер накладной. Заранее спасибо за ответ.

P.S. Пишу на C#.net VS2010, использую БД Access 2003.
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352594
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы через БД делал: номер накладной = номер ключевого поля - генерируется автоматически счетчиком при создании записи
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352668
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest786,

... перед выводом формы сделайте запрос к базе
Код: sql
1.
Select MAX(nomerDoc)


.. а потом ему +1
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352679
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikguest786,

... перед выводом формы сделайте запрос к базе
Код: sql
1.
Select MAX(nomerDoc)


.. а потом ему +1

Лишь бы потом не возникло путаницы. Например, удалят из базы накладные, и max() предложит номер накладной, которая уже когда-то была. Потом мы захотим эту накладную вбить в 1с или в другую систему, а та скажет - извините, но такая накладная уже есть в системе.
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352712
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris

Лишь бы потом не возникло путаницы. Например, удалят из базы накладные, и max() предложит номер накладной, которая уже когда-то была. Потом мы захотим эту накладную вбить в 1с или в другую систему, а та скажет - извините, но такая накладная уже есть в системе.

... это у нас уже проходили, и пришли к тому, что номер должен быть уникальным для предприятия :)... но у ТС пока что хотят "раз-два-три" ...
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352763
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,

Спасибо за ответ. Я создаю отдельную таблицу с счетчиком. у меня счетчик начинается с 22. как его сбросить? Подскажите пожалуйста.

carrotikguest786,

... перед выводом формы сделайте запрос к базе
Код: sql
1.
Select MAX(nomerDoc)


.. а потом ему +1

А как к нему прибавить +1. я подключаюсь к базе вот таким образом

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
database.Open();
            OleDbCommand SQLCommand = new OleDbCommand();
            SQLCommand.CommandText = _SQLQueryString;

            SQLCommand.Connection = database;
            int response = -1;
            response = SQLCommand.ExecuteNonQuery();
            database.Close();



Пишу запрос
Код: plsql
1.
_SQLQueryString = SELECT MAX(nomerDoc) FROM table



как теперь привязать результат к textboxу? Заранее спасибо
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352785
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest786,

вместо ExecuteNonQuery - пиши ExecuteScalar. Потом пиши textBox1.Text = response.ToString()
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352813
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallarisguest786,

вместо ExecuteNonQuery - пиши ExecuteScalar. Потом пиши textBox1.Text = response.ToString()

Спасибо большое за ответ. у меня response тип int . Студия ругается и выдает ошибку: " Не удается неявно преобразовать тип "object" в "int". Существует явное преобразование (возможно, пропущено приведение типов)"

Как ее исправить подскажите пожалуйста.Спасибо
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352815
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить ругается именно на эту строчку

Код: c#
1.
response = SQLCommand.ExecuteScalar();
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352823
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно как то так.
1. Создание и инициализация таблицы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[tblCounter](
	[Id] [int] NOT NULL,
	[Counter] [int] NOT NULL,
 CONSTRAINT [PK_tblCounter] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)) ON [PRIMARY]

insert into tblCounter (Id,Counter)
values(1,0)


2. Получение следующего номера, удаление промежуточных накладных ничего не испортит.

Код: sql
1.
2.
3.
4.
update tblCounter set Counter=Counter+1

select Counter from tblCounter
where Id=1
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352846
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest786Забыл добавить ругается именно на эту строчку

Код: c#
1.
response = SQLCommand.ExecuteScalar();



Ну приведи к типу:
Код: c#
1.
2.
3.
4.
5.
6.
try
{
response = (int)SQLCommand.ExecuteScalar();
}
catch
{}
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352881
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallarisguest786Забыл добавить ругается именно на эту строчку

Код: c#
1.
response = SQLCommand.ExecuteScalar();



Ну приведи к типу:
Код: c#
1.
2.
3.
4.
5.
6.
try
{
response = (int)SQLCommand.ExecuteScalar();
}
catch
{}




Пишет "Заданное приведение является недопустимым."
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352883
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвгенийВМожно как то так.
1. Создание и инициализация таблицы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE [dbo].[tblCounter](
	[Id] [int] NOT NULL,
	[Counter] [int] NOT NULL,
 CONSTRAINT [PK_tblCounter] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)) ON [PRIMARY]

insert into tblCounter (Id,Counter)
values(1,0)


2. Получение следующего номера, удаление промежуточных накладных ничего не испортит.

Код: sql
1.
2.
3.
4.
update tblCounter set Counter=Counter+1

select Counter from tblCounter
where Id=1



Спасибо за ответ. Он значение изменяет в базе. а как его привязать к textboxу не подскажете?
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352908
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest786Пишет "Заданное приведение является недопустимым."

Ну епрст
Код: c#
1.
response = Convert.ToInt32(SQLCommand.ExecuteScalar().ToString());
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352977
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallarisguest786Пишет "Заданное приведение является недопустимым."

Ну епрст
Код: c#
1.
response = Convert.ToInt32(SQLCommand.ExecuteScalar().ToString());



ппц. дятя петя, вы дурак?

2 ТС - чего автоинкрементальное поле не используете?
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352984
guest786
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Огромное Спасибо за помощь. Все заработало
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38352985
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winsky!ппц. дятя петя, вы дурак?

Нет, а ты?
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353007
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallariswinsky!ппц. дятя петя, вы дурак?

Нет, а ты?
конечно!
я твой код уже на говнокод.ру запостил.
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353009
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
winsky!,

да ты крут!
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353634
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
guest786Всем Огромное Спасибо за помощь. Все заработало
неправильно методически
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353687
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, последовательность номеров накладных в складских задачах - это бред. Во-вторых, последовательность актуальна для счет-фактур и только. В-третьих, последовательность решается классическим инкрементом, а не макс + 1. В-четвертых, никаких удалений и быть не может, иначе будут дырки в диапазоне. Только сторнирование.
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353733
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest786,
Номер накладной надо сохранять при записи накладной и не присваивать его при создании.
Я могу создать накл., и долго ее заполнять, а другой юзверь также создаст и заполнит быстрее, ему и номер раньше выдать надо, поэтому только при сохранении присваивать номер надо.
Как то так.
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38353799
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikPallaris

Лишь бы потом не возникло путаницы. Например, удалят из базы накладные, и max() предложит номер накладной, которая уже когда-то была. Потом мы захотим эту накладную вбить в 1с или в другую систему, а та скажет - извините, но такая накладная уже есть в системе.

... это у нас уже проходили, и пришли к тому, что номер должен быть уникальным для предприятия :)... но у ТС пока что хотят "раз-два-три" ...

+1. и не нужно придумывать и заниматься ерундой
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38532631
Neroly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wamacoguest786,
Номер накладной надо сохранять при записи накладной и не присваивать его при создании.
Я могу создать накл., и долго ее заполнять, а другой юзверь также создаст и заполнит быстрее, ему и номер раньше выдать надо, поэтому только при сохранении присваивать номер надо.
Как то так.
Согласна, что это разумнее. Не подскажете как это сделать?
...
Рейтинг: 0 / 0
Как хранить счетчик с номерами накладных
    #38535043
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nerolywamacoguest786,
Номер накладной надо сохранять при записи накладной и не присваивать его при создании.
Я могу создать накл., и долго ее заполнять, а другой юзверь также создаст и заполнит быстрее, ему и номер раньше выдать надо, поэтому только при сохранении присваивать номер надо.
Как то так.
Согласна, что это разумнее. Не подскажете как это сделать?

Делаете отдельную таблицу. В ней два поля. Идентификатор документа ( строка), нумератор (число).
Создаете одну запись с нач.номером. далее при записи документа присв.номер и увеличиваете нумератор на 1. Все в одной транзакции.
Все.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как хранить счетчик с номерами накладных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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