Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
MS SQL

Как сделать create table?

03.04.2023, 08:39. Показов 6397. Ответов 105
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, подскажите пожалуйста как мне в с#описать функцию create table спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.04.2023, 08:39
Ответы с готовыми решениями:

create table
язык С# visual studio 2008 есть проблема с которой справиться немогу прошу помощи господа неоходимо допустим при клике на кнопку...

Create Table в C#
Ничего не понимаю Пытаюсь создать таблицу через SQL запрос и получаю ошибку, скажите что у меня не так?

Конструирование динамического запроса CREATE TABLE
Здравствуйте! Начал изучать базы данных. Предположим, есть строчка запроса, которая была на одном из форумов: SqlCommand...

105
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
05.04.2023, 08:04  [ТС]
Студворк — интернет-сервис помощи студентам
OwenGlendower, хммм... можно прпоробывать

Добавлено через 12 минут
ну а вообще хотелось бы уже закончить данный вариант
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,767
Записей в блоге: 4
05.04.2023, 08:20
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Идея в том чтобы поместить скрипт с временной таблицей в хранимую процедуру.
Я уже про это говорил, две страницы назад, но ТС так и не прокомментировал это предложение...

Добавлено через 3 минуты
Цитата Сообщение от Kaktuc Посмотреть сообщение
Есть рабочая программа которую нужно переделать под данный скрипт
Моё подозрение оправдалось. Писали бы сами с нуля, было бы гораздо проще это всё сделать...
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
05.04.2023, 08:45  [ТС]
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Моё подозрение оправдалось. Писали бы сами с нуля, было бы гораздо проще это всё сделать...
Если все было бы так просто я бы помощи не просил

Добавлено через 45 секунд
и внимательно нужно читать условие я писал не раз что нужно сделать по образцу
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,767
Записей в блоге: 4
05.04.2023, 08:58
Цитата Сообщение от Kaktuc Посмотреть сообщение
что нужно сделать по образцу
Это не значит что надо брать старый код и пытаться его переделать, это значит что нужно соблюсти функционал, а как это будет выглядеть уже вопрос десятый.
1. Записать скрипт SQL в хранимку, или если надо в две, три, пять. Будет меньше путаницы и ошибок в коде на стороне клиента. Пример я вам показывал.
2. Написать нормальный код работы с СУБД, а не спамить запросы в БД в цикле, и не присваивать одной команде три запроса. Такое можно сделать, но по другому, а не как у вас...
3. Написать нормальный UI с объектами и коллекциями данных, а не хранить данные в элементах UI и потом изворачиваться и писать кучу костылей для их правильной работы... Для этого нужно использовать паттерны MVP/MVC/MVVM. Тогда будет всё просто, логично и понятно, даже вам самому.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
05.04.2023, 10:14  [ТС]
Замучался
Миниатюры
Как сделать create table?  
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,767
Записей в блоге: 4
05.04.2023, 10:25
Цитата Сообщение от Kaktuc Посмотреть сообщение
Замучался
Ну дак у вас CommandText = "", чего вы хотите...
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
05.04.2023, 10:27  [ТС]
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Ну дак у вас CommandText = "", чего вы хотите...
он мне вообще не нужен
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,767
Записей в блоге: 4
05.04.2023, 10:30
Цитата Сообщение от Kaktuc Посмотреть сообщение
он мне вообще не нужен
А к Fill у вас какая команда привязана?

Добавлено через 1 минуту
Kaktuc, Изучайте - Руководство по ADO.NET и работе с базами данных в .NET 6
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
05.04.2023, 14:13  [ТС]
C#
1
 MyAdapter1.Fill(MyConnteyner1);
Комментирую данную строчку Ексель открывается но без данных
1 фото как должно быть (с данными)
2 фото как есть сейчас
Миниатюры
Как сделать create table?   Как сделать create table?  
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
07.04.2023, 16:51  [ТС]
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
//Подключение к БД "test"//
            Connection_manager.Set_Connection("Data Source=test;Initial Catalog=test;Persist Security Info=True;User ID=root; Password = password");
            Connection_manager.Set_month("10");
            DialogResult = DialogResult.OK;
 
 
            //подключение SQL - вывожу результат//
            SqlConnection MyConnection5 = Connection_manager.GetCurrentConnection();
            SqlCommand MySelectCommand5 = new SqlCommand();     
 
 
         
 
            //Мой код программы//
            MySelectCommand5.CommandText = "CREATE TABLE #PR1 (Job bigint, Suffix smallint, StatusRus nvarchar(100), StartDate datetime, EndDate datetime, BuhOrderCode nvarchar(100), BuhOrderDesc nvarchar(100), ItemID int, SLCode nvarchar(100), FullName nvarchar(500), ItemTypesID int, SN nvarchar(100), ProcessName nvarchar(100), [Route] nvarchar(100), IsTargetItem int, JobOperationID int, QtyReleased numeric(18, 8), QtyComplete numeric(18, 8), ElemNum int, WC int, WorksAspect nvarchar(100), SiteWC nvarchar(100), [Operation] nvarchar(100), Equipment nvarchar(100), EqModelPower nvarchar(100), Payable nvarchar(100), CorrectFactor numeric(18, 8), Profession nvarchar(100), PerformersQty int, [Rank] int, Valuation numeric(18, 8), Laboriousness numeric(18, 8), HasClosedOpers int, Reason nvarchar(100)) insert into #PR1 (Job, Suffix, StatusRus, StartDate, EndDate, BuhOrderCode, BuhOrderDesc, ItemID, SLCode, FullName, ItemTypesID, SN, ProcessName, [Route], JobOperationID, QtyReleased, QtyComplete, ElemNum, WC, WorksAspect, SiteWC, [Operation], Equipment, EqModelPower, Payable, CorrectFactor, Profession, PerformersQty, [Rank], Valuation, Laboriousness, HasClosedOpers, Reason) EXECUTE dbo.GetRptPurpleTrud '2023-04-01', '2023-04-30', 207000, null";       
 
 
            MySelectCommand5.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
            MySelectCommand5.Parameters["@MyDateParam1"].Value = MyDateData_c.Date;
            MySelectCommand5.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
            MySelectCommand5.Parameters["@MyDateParam2"].Value = MyDateData_po.Date;
            MySelectCommand5.Connection = MyConnection5;
            MySelectCommand5.CommandTimeout = 0;
            System.Data.DataTable MyConnteyner18 = new System.Data.DataTable();
            SqlDataAdapter MyAdapter18 = new SqlDataAdapter(MySelectCommand5);
            MyAdapter18.Fill(MyConnteyner18);
            if (MyConnteyner18.Rows.Count > 0)
            {
               foreach (DataRow MyRow18 in MyConnteyner18.Rows)
                {
                  
                    MySheet.Cells[i, 1].Font.Bold = true;
                    i = i + 0;
                    // MySheet.Cells[i, 1].Value = "Ф.И.О. Бригадир"; //ЗНП
                    range = MySheet.Range[i, 1, i, 15];
                    range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                    range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                    i++;
 
 
                    SqlConnection MyConnection1 = Connection_manager.GetCurrentConnection();
                    SqlCommand MySelectCommand1 = new SqlCommand();
 
                 
                    //Мой код программы//
                   MySelectCommand1.CommandText = "select SiteWC, buhOrderDesc, sn, sum(#PR1.qtyreleased * #PR1.performersqty * #PR1.Laboriousness) as norma,sum(#PR1.qtyreleased * #PR1.Valuation) as summa from #PR1 group by SiteWC, sn, buhOrderDesc Order by SiteWC, sn, buhOrderDesc";
 
 
                    MySelectCommand1.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
                    MySelectCommand1.Parameters["@MyDateParam1"].Value = MyDateData_c.Date;
                    MySelectCommand1.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
                    MySelectCommand1.Parameters["@MyDateParam2"].Value = MyDateData_po.Date;
                    MySelectCommand1.Connection = MyConnection1;
                    MySelectCommand1.CommandTimeout = 0;
                    System.Data.DataTable MyConnteyner1 = new System.Data.DataTable();
                    SqlDataAdapter MyAdapter1 = new SqlDataAdapter(MySelectCommand1) ;
                    MyAdapter1.Fill(MyConnteyner1);
                    if (MyConnteyner1.Rows.Count > 0)
                    {
                        decimal summ = 0;
                        foreach (DataRow MyRow1 in MyConnteyner1.Rows)
                        {
                            //MySheet.Cells[i, 1].Value = MyRow1["SiteWC"]; // job
                           // MySheet.Cells[i, 2].Value = MyRow1["buhOrderDesc"]; //suffix
                           // MySheet.Cells[i, 3].Value = MyRow1["sn"]; //slcode
                            MySheet.Cells[i, 4].Value = MyRow1["SiteWC"]; //fullname  SiteWC, sn, buhOrderDesc
                            MySheet.Cells[i, 5].Value = MyRow1["sn"]; //qtyreleased
                            MySheet.Cells[i, 6].Value = MyRow1["buhOrderDesc"]; //qtycomplete
                           // MySheet.Cells[i, 7].Value = MyRow1["summa"]; // summa
                                                     //   summ = summ + Convert.ToDecimal(MyRow1["summa"].ToString());
                            range = MySheet.Range[i, 1, i, 15];
                            range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                            range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                            i++;
                        }
В продолжение темы ошибки все устранил, но все равно выводит пустой отчет, это часть кода, понятно что пристствует и описание вывода в ексель
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18417 / 14348 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
08.04.2023, 22:00
Kaktuc, поставьте точку останова на строке
C#
27
            if (MyConnteyner18.Rows.Count > 0)
и посмотрите чему равно MyConnteyner18.Rows.Count. Если там 0, значит возьмите запрос из MySelectCommand5.CommandText, запустите его в SSMS и посмотрите сколько строк вам возвращается. А дальше думайте почему так.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
10.04.2023, 08:33  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
и посмотрите чему равно MyConnteyner18.Rows.Count. Если там 0, значит возьмите запрос из MySelectCommand5.CommandText, запустите его в SSMS и посмотрите сколько строк вам возвращается. А дальше думайте почему так.
Возвращает балалайку
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18417 / 14348 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
10.04.2023, 13:17
Kaktuc, балалайку?
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
10.04.2023, 13:19  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Kaktuc, балалайку?
Ни чего не выводит
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18417 / 14348 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
10.04.2023, 13:27
Kaktuc, то есть вы выполняете запрос который ничего не возвращает и удивляетесь почему у вас пустой отчет. Как насчет добавить SELECT к нему? Он у вас уже есть только почему-то внутри цикла. И еще момент - вы добавляете параметры к запросам, но запросы их не используют. Тоже нужно исправить.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
10.04.2023, 13:47  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
И еще момент - вы добавляете параметры к запросам, но запросы их не используют. Тоже нужно исправить.
Не совсем понял
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18417 / 14348 / 5371
Регистрация: 17.03.2014
Сообщений: 29,032
Записей в блоге: 1
10.04.2023, 14:06
Kaktuc, речь о вызовах Parameters.Add. Переменные которые таким образом создаются должны использоваться в запросе иначе просто нет смысла их создавать. Сейчас более внимательно посмотрел на ваш код и заметил что в посте #90 параметры не используются, а в более раннем посте #73 использование есть. Не знаю как у вас так получается, но по крайней мере у вас уже есть рабочий пример.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
10.04.2023, 14:20  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Kaktuc, речь о вызовах Parameters.Add. Переменные которые таким образом создаются должны использоваться в запросе иначе просто нет смысла их создавать. Сейчас более внимательно посмотрел на ваш код и заметил что в посте #90 параметры не используются, а в более раннем посте #73 использование есть. Не знаю как у вас так получается, но по крайней мере у вас уже есть рабочий пример.
Правильно бо это и есть образец рабочей программы, из того что нужно сделать
0
 Аватар для Andrey-MSK
3397 / 2283 / 388
Регистрация: 14.08.2018
Сообщений: 7,767
Записей в блоге: 4
10.04.2023, 14:54
Цитата Сообщение от Kaktuc Посмотреть сообщение
это и есть образец рабочей программы
Покажите рабочий код, без ваших правок. И выделите кусок, который нужно переписать.
0
 Аватар для Kaktuc
1 / 1 / 0
Регистрация: 01.01.2023
Сообщений: 141
10.04.2023, 15:10  [ТС]
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Покажите рабочий код, без ваших правок. И выделите кусок, который нужно переписать.
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
using System;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using NativeExcel;
using System.Reflection;
using System.Data.SqlClient;
using System.Data;
 
namespace Exp_Exel
{
    public partial class Frm_Analiz_znp : Form
    {
        public Frm_Analiz_znp()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            string MyComboData2 = (string)comboBox2.SelectedItem; /*подразделение*/
            DateTime MyDateData_c = dateTimePicker1.Value;
            DateTime MyDateData_po = dateTimePicker2.Value;
 
            //Вызов Экселя//
            string Path = System.Windows.Forms.Application.StartupPath + "\\Data\\";
            IWorkbook book = NativeExcel.Factory.OpenWorkbook(Path + "VesZNP.xls");
            Path = @"\\Docx\report\";
            string file_name = Path + DateTime.Now.ToFileTime().ToString() + "VesZNP.xls";
            
 
            book.SaveAs(file_name);
            book = NativeExcel.Factory.OpenWorkbook(file_name);
            IWorksheet MySheet = book.ActiveSheet;
            IRange range = MySheet.Range[1, 1, 1, 1];
            range.Rows.RowHeight = 1;
 
            MySheet.Cells[2, 1].Value = "Плановая трудоемкость по участкам и по машинам " + MyComboData2 + " за период с " + Convert.ToDateTime(MyDateData_c.Date.ToString().Substring(0, 10)) + " по " + Convert.ToDateTime(MyDateData_po.Date.ToString().Substring(0, 10));
 
            int i = 6;
            //подключение SQL - вывожу результат//
            SqlConnection MyConnection5 = Connection_manager.GetCurrentConnection();
            SqlCommand MySelectCommand5 = new SqlCommand();
 
            MySelectCommand5.CommandText = @"select distinct i.SlCode, i.FullName, i.SlCode + ' (' + i.FullName + ')' as Description 
from viewjobelement je, job j, test2.dbo.viewitems i, jobmatl jm
where je.job = j.job and je.suffix = j.suffix and je.wcid = '" + MyComboData2 + @"' and enddate >= @MyDateParam1 and enddate <= @MyDateParam2
and jm.job = j.job and jm.suffix = j.suffix and jm.itemID = i.ConstID and i.ItemTypesID = 4
order by i.FullName" 
 
            MySelectCommand5.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
            MySelectCommand5.Parameters["@MyDateParam1"].Value = MyDateData_c.Date;
            MySelectCommand5.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
            MySelectCommand5.Parameters["@MyDateParam2"].Value = MyDateData_po.Date;
            MySelectCommand5.Connection = MyConnection5;
            MySelectCommand5.CommandTimeout = 0;
            System.Data.DataTable MyConnteyner5 = new System.Data.DataTable();
            SqlDataAdapter MyAdapter5 = new SqlDataAdapter(MySelectCommand5);
            MyAdapter5.Fill(MyConnteyner5);
            if (MyConnteyner5.Rows.Count > 0)
            {
                foreach (DataRow MyRow5 in MyConnteyner5.Rows)
                {
                    MySheet.Cells[i, 1].Value = MyRow5["Description"];
                    MySheet.Cells[i, 1].Font.Bold = true;
                    i = i + 2;
                    MySheet.Cells[i, 1].Value = "Ф.И.О. Бригадир"  ; //ЗНП
                    MySheet.Cells[i, 2].Value = "Численность (чел.)";  //Суффикс
                    MySheet.Cells[i, 3].Value = "Участок по ШР";  //Изделие
                    MySheet.Cells[i, 4].Value = "Состав Бригады"; // Наименование 
                    MySheet.Cells[i, 5].Value = "Участок в Глобал"; // Кол-во по ЗНП
                    MySheet.Cells[i, 6].Value = "Наименование машин"; // Выполнено по ЗНП 
                    MySheet.Cells[i, 7].Value = "№ машины"; // Вес на 1 изделие
                    MySheet.Cells[i, 8].Value = "ПЛАН Трудоемкость (по знп), н/ч";  // Вес по ЗНП
                    MySheet.Cells[i, 9].Value = "Пустое поле";  // Е/И
                    MySheet.Cells[i, 10].Value = "Выработка по бригаде, %";
                    MySheet.Cells[i, 11].Value = "численность чел.";
                    MySheet.Cells[i, 12].Value = "ФАКТ Трудоемкость (по знп), н/ч";
                    MySheet.Cells[i, 13].Value = "Пустое поле";
                    MySheet.Cells[i, 14].Value = "Выработка по бригаде, %";
                    MySheet.Cells[i, 15].Value = "численность чел.";
                    range = MySheet.Range[i, 1, i, 15];
                    range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                    range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                   i++;
            SqlConnection MyConnection1 = Connection_manager.GetCurrentConnection();
            SqlCommand MySelectCommand1 = new SqlCommand();
 
            MySelectCommand1.CommandText = @"select distinct j.job, j.suffix, j.slcode, j.fullname, j.QtyReleased, j.QtyComplete, jm.Quantity, j.QtyReleased*jm.Quantity as summa, jm.UnitMeasure
from viewjobelement je, viewjob j, test2.dbo.viewitems i, jobmatl jm
where je.job = j.job and je.suffix = j.suffix and je.wcid = '" + MyComboData2 + @"' and enddate >= @MyDateParam1 and enddate <= @MyDateParam2
and jm.job = j.job and jm.suffix = j.suffix and jm.itemID = i.ConstID and i.ItemTypesID = 4 and i.slcode = '" + MyRow5["SlCode"].ToString() + "' order by j.fullname";
 
            MySelectCommand1.Parameters.Add("@MyDateParam1", SqlDbType.DateTime);
            MySelectCommand1.Parameters["@MyDateParam1"].Value = MyDateData_c.Date;
            MySelectCommand1.Parameters.Add("@MyDateParam2", SqlDbType.DateTime);
            MySelectCommand1.Parameters["@MyDateParam2"].Value = MyDateData_po.Date;
            MySelectCommand1.Connection = MyConnection1;
            MySelectCommand1.CommandTimeout = 0;
            System.Data.DataTable MyConnteyner1 = new System.Data.DataTable();
            SqlDataAdapter MyAdapter1 = new SqlDataAdapter(MySelectCommand1);
            MyAdapter1.Fill(MyConnteyner1);
            if (MyConnteyner1.Rows.Count > 0)
            {
                decimal summ = 0;
                foreach (DataRow MyRow1 in MyConnteyner1.Rows)
                {
                    MySheet.Cells[i, 1].Value = MyRow1["job"]; // job
                    MySheet.Cells[i, 2].Value = MyRow1["suffix"]; //suffix
                    MySheet.Cells[i, 3].Value = MyRow1["slcode"]; //slcode
                    MySheet.Cells[i, 4].Value = MyRow1["fullname"]; //fullname
                    MySheet.Cells[i, 5].Value = MyRow1["QtyReleased"]; //qtyrelease
                    MySheet.Cells[i, 6].Value = MyRow1["QtyComplete"]; //qtycomplete
                    MySheet.Cells[i, 7].Value = MyRow1["Quantity"]; //quantity
                    MySheet.Cells[i, 8].Value = MyRow1["summa"]; // summa
                    MySheet.Cells[i, 9].Value = MyRow1["UnitMeasure"]; //unitmeasure
                        //    MySheet.Cells[i, 10].Value = MyRow1[""]; 
                          //  MySheet.Cells[i, 11].Value = MyRow1[""];
                          //  MySheet.Cells[i, 12].Value = MyRow1[""];
                          //  MySheet.Cells[i, 13].Value = MyRow1[""];
                          //  MySheet.Cells[i, 14].Value = MyRow1[""];
                          //  MySheet.Cells[i, 15].Value = MyRow1[""];
                            summ = summ + Convert.ToDecimal(MyRow1["summa"].ToString());
                    range = MySheet.Range[i, 1, i, 15];
                    range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                    range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                    i++;
                }
              /*  MySheet.Cells[i, 1].Value = "Итого";
                MySheet.Cells[i, 1, i, 7].Merge();
                MySheet.Cells[i, 8].Value = summ;
                MySheet.Cells[i, 1].Font.Bold = true;
                MySheet.Cells[i, 8].Font.Bold = true;
                range = MySheet.Range[i, 1, i, 15];
                range.Borders[XlBordersIndex.xlAround].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                range.Borders[XlBordersIndex.xlInsideAll].ColorIndex = XlColorIndex.xlColorIndexAutomatic;
                i = i + 2;*/
            }
                    
                }
            }
 
            book.SaveAs(file_name);
            System.Diagnostics.Process.Start(file_name);
 
            Close();
        }
 
        private void comboBox2_DropDown(object sender, EventArgs e)
        {
            //заполнение комбо-бокса Склад//
            SqlConnection MyConnection6 = Connection_manager.GetCurrentConnection();
            SqlCommand MySelectCommand6 = new SqlCommand();
            string zamena5 = comboBox2.Text.Replace("*", "%");
            MySelectCommand6.CommandText = @"select ID as whse
                                             from test2.dbo.WC
                                             where (ShortName in ('1', '2', '4', '5', '7') and WCPlot like '%000') or WCPlot = '206203' order by cast(ShortName as int)";
            MySelectCommand6.Connection = MyConnection6;
            System.Data.DataTable MyConnteyner6 = new System.Data.DataTable();
            SqlDataAdapter MyAdapter6 = new SqlDataAdapter(MySelectCommand6);
            MyAdapter6.Fill(MyConnteyner6);
            comboBox2.Items.Clear();
            foreach (DataRow MyRow6 in MyConnteyner6.Rows)
            {
                comboBox2.Items.Add(MyRow6["whse"].ToString());
            }
        }
 
        private void Frm_Analiz_znp_Load(object sender, EventArgs e)
        {
            var yr = DateTime.Today.Year;
            var mth = DateTime.Today.Month;
            var firstDay = new DateTime(yr, mth, 1).AddMonths(-1).AddMonths(1);
            var lastDay = new DateTime(yr, mth, 1).AddDays(0).AddMonths(1);
 
            dateTimePicker1.Value = firstDay;
            dateTimePicker2.Value = lastDay;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Frm_Help MyFrm1 = new Frm_Help();
            MyFrm1.ShowDialog();
        }
 
        private void ComboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
    }
}
- это вот полностью рабочий код без моих правок

SQL
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
/*создаем временную таблицу*/
CREATE TABLE #PR1 (Job BIGINT, Suffix SMALLINT, StatusRus nvarchar(100), StartDate datetime, EndDate datetime, BuhOrderCode nvarchar(100), BuhOrderDesc nvarchar(100), 
ItemID INT, SLCode nvarchar(100), FullName nvarchar(500), ItemTypesID INT, SN nvarchar(100), ProcessName nvarchar(100), [Route] nvarchar(100), 
IsTargetItem INT, JobOperationID INT, QtyReleased NUMERIC(18, 8), QtyComplete NUMERIC(18, 8), ElemNum INT, WC INT, WorksAspect nvarchar(100), SiteWC nvarchar(100), 
[Operation] nvarchar(100), Equipment nvarchar(100), EqModelPower nvarchar(100), Payable nvarchar(100), CorrectFactor NUMERIC(18, 8), Profession nvarchar(100), 
PerformersQty INT, [Rank] INT, Valuation NUMERIC(18, 8), Laboriousness NUMERIC(18, 8), HasClosedOpers INT, Reason nvarchar(100))
 
INSERT  #PR1 (Job, Suffix, StatusRus, StartDate, EndDate, BuhOrderCode, BuhOrderDesc, ItemID, SLCode, FullName, ItemTypesID, SN, ProcessName, [Route], JobOperationID, QtyReleased, QtyComplete, ElemNum, 
WC, WorksAspect, SiteWC, [Operation], Equipment, EqModelPower, Payable, CorrectFactor, Profession, PerformersQty, [Rank], Valuation, Laboriousness, HasClosedOpers, Reason)
EXECUTE dbo.GetRptPurpleTrud '2023-04-01', '2023-04-30', 207000, NULL
 
/*удаляем из пурпла с нулевой трудоемкостью*/
DELETE FROM #pr1 WHERE Laboriousness = 0
 
/*уменьшаем количество если закрыли в прошлом месяце*/
UPDATE #PR1
SET #PR1.qtyreleased = #PR1.qtyreleased - jobtranoper.QtyCompleteDelta
FROM jobtranoper
WHERE jobtranoper.joboperationid = #PR1.joboperationid AND #PR1.startdate < '2023-04-01' AND jobtranoper.FactualDate < '2023-04-01'
 
/*удаляем если количество 0*/
DELETE FROM #PR1 WHERE qtyreleased = 0
 
/*удаляем остановленное*/                
DELETE FROM #PR1 
WHERE statusrus = 'Отменено' AND qtycomplete = 0 
AND job NOT IN 
(
    SELECT jto.job 
    FROM JobTranOper jto 
    WHERE jto.job = #PR1.job AND rowdate >= '2023-04-01' AND rowdate <= '2023-04-30'
)
 
/*отчет*/
SELECT SiteWC, buhOrderDesc, sn, SUM(#PR1.qtyreleased * #PR1.performersqty * #PR1.Laboriousness) AS norma, SUM(#PR1.qtyreleased * #PR1.Valuation) AS summa
FROM #PR1
GROUP BY SiteWC, sn, buhOrderDesc
ORDER BY SiteWC, sn, buhOrderDesc
- это код то тоже рабочий и его нужно скрестить с кодом выше
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2023, 15:10

Ошибка при выполнении CREATE TABLE: Число префиксов превышает максимально допустимое значение
Ребят помогите пожалуйста( раньше код работал сейчас же проблема( Вот сам код: using (SqlConnection conn = new...

DROOP TABLE и CREATE TABLE в ACCESS
Как использовать конструкции DROOP TABLE и CREATE TABLE в ACCESS? собственно ситуация такова: есть локальная база на аксесе...

Как через ADO вызвать Create Table?
Народ помогите пожалуйста. Как через ADO вызвать Create table для ACCESS. Необходимо создавать таблицы в ACCESS с помощью инструментов...

Как в строке CREATE TABLE указать FIELD_LEN и FIELD_DEC для поля NUMERIC?
Так что, в строке CREATE TABLE так и нельзя указать FIELD_LEN и FIELD_DEC для поля NUMERIC? :-((

Как правильно сделать построчное чтение txt файла, чтобы потом эти данные выводились в теге <table></table>?
У меня есть файл file.txt: Саша 12 руб. Рома 76 руб. Петя 120 руб. Маша 234 руб. Я пытаюсь создать функцию, которая...


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru