Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198

Вывод строк из базы данных sqllite

18.02.2021, 16:51. Показов 4308. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, форумчане. Делаю программу с базой данных sqllite. Как вводить данные разобрался, подскажите как вывести данные из базы и потом отобразить их в label в winforms приложении. Вот мой код. Все примеры которые нашел, выводят в консоль, а это почему то сбивает с толку.

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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
using System;
using System.Windows.Forms;
using System.Data.SQLite;
using System.IO;
using System.Drawing;
using System.Diagnostics;
using System.Collections.Generic;
 
namespace Grinding3
{
    public partial class Form1 : Form
    {
        private String dbFileName;
        private SQLiteConnection m_dbConn;
        private SQLiteCommand m_sqlCmd;
 
        double D;                      //диаметр круга
        double widthCircle;            //ширина абразивного круга
        double landingHole;            //диаметр посадочного отверстия
        double abrasiveWheelGrit;      //зернистость абразивного круга
        int score = 0;
        int structAbrasiveWheel;       //структура абразивного круга
        int imbalanceClass;            //класс неуравновешенности
        int count = 0;                 //счетчик
 
        double resultTemp = 0;
        const double PI = 3.14159;      //число Пи
        double nk;                      //частота вращения круга
        double d;                       //диаметр детали
        double Vk;                      //скорость абразивного круга
        double Vd;                      //скорость детали
        double t;                       //глубина резания
        double Cp = 2.2;                //коэффициент металла, шлифуемой детали
        double Sn;                      //скорость продольной подачи
        double Pz;                      //сила резания
        double b = 0.8;                 //интервал случайной величины
        double T;                       //температура на отдельном участке
        double L;                       //длина заготовки
        double t0;                      //время обработки
        string mainTime;                //время обработки при шлифовании
        double a = 0.15;                //припуск на сторону
        double K = 1.25;                //коэффициент точности шлифования
 
        String x = "X";
        String space = " ";
        String abrasiveWheelHardness;   //твердость абразивного круга
        String materialGrain;           //тип шлифовального материала
        String bunchCircle;             //связка абразивного круга
        String accuracyClass;           //класс точности
        String material;                //вид материала
        String rouqhness;               //шероховатость
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            button_clearCells.Enabled = false;
            button_writeDate.Enabled = false;
            button_recommendedCircle.Enabled = false;
            comboBox_numberGrain.Focus();
            if (!File.Exists(@"C:\\Users\\Евгений\\Documents\\Visual Studio 2019\\Projects\\Grinding3\\Grinding3\\TestCircle.db"))
            {
                SQLiteConnection.CreateFile(@"C:\\Users\\Евгений\\Documents\\Visual Studio 2019\\Projects\\Grinding3\\Grinding3\\TestCircle.db");
            }
 
        }
        //очищение полей ввода
        private void button_clearCells_Click(object sender, EventArgs e)
        {
 
        }
        //ввод данных и расчеты
        private void button_writeDate_Click(object sender, EventArgs e)
        {
            materialGrain = comboBox_numberGrain.Text;                           //ввод материала шлифовального круга
            material = comboBox_material.Text;                                   //ввод обрабатываемого материала
            if (material == "Сталь конструкционная")
            {
 
                abrasiveWheelHardness = "K";       //твердость
                structAbrasiveWheel = 10;          //структура
                accuracyClass = "AA";              //класс точности
                imbalanceClass = 1;
            }
            else if (material == "Сталь легированная")
            {
 
                abrasiveWheelHardness = "K";                    //твердость
                structAbrasiveWheel = 8;                        //структура
                accuracyClass = "AA";                           //класс точности
                imbalanceClass = 1;
            }
            else if (material == "Сталь жаропрочная")
            {
 
                abrasiveWheelHardness = "G";                    //твердость
                structAbrasiveWheel = 9;                        //структура
                accuracyClass = "AA";                           //класс точности
                imbalanceClass = 1;
            }
            else if (material == "Сталь инструментальная")
            {
 
                abrasiveWheelHardness = "I";                    //твердость
                structAbrasiveWheel = 12;                       //структура
                accuracyClass = "AA";                           //класс точности
                imbalanceClass = 1;
            }
            else if (material == "Чугун и медные сплавы")
            {
                abrasiveWheelHardness = "R";                    //твердость
                structAbrasiveWheel = 9;                        //структура
                accuracyClass = "AA";                           //класс точности
                imbalanceClass = 1;
            }
            bunchCircle = comboBox_bunch.Text;                                   //ввод вида связки
            rouqhness = comboBox_rouhness.Text;                                  //ввод шероховатости
            if (rouqhness == "0.05")
            {
                abrasiveWheelGrit = 100;
            }
 
            else if (rouqhness == "0.1")
            {
                abrasiveWheelGrit = 80;
            }
 
            else if (rouqhness == "0.2")
            {
                abrasiveWheelGrit = 70;
            }
 
            else if (rouqhness == "0.3")
            {
                abrasiveWheelGrit = 60;
            }
 
            else if (rouqhness == "0.4")
            {
                abrasiveWheelGrit = 46;
            }
 
            else if (rouqhness == "0.8")
            {
                abrasiveWheelGrit = 40;
            }
 
            else if (rouqhness == "1.25")
            {
                abrasiveWheelGrit = 36;
            }
 
            else if (rouqhness == "1.6")
            {
                abrasiveWheelGrit = 24;
            }
 
            else if (rouqhness == "2.5")
            {
                abrasiveWheelGrit = 22;
            }
 
            else if (rouqhness == "3.2")
            {
                abrasiveWheelGrit = 16;
            }
 
            else if (rouqhness == "6.3")
            {
                abrasiveWheelGrit = 14;
            }
 
            else if (rouqhness == "12.5")
            {
                abrasiveWheelGrit = 12;
            }
 
            D = Convert.ToDouble(textBox_diametrCircle.Text);                    //ввод диаметра круга
            nk = Convert.ToDouble(textBox_rotationFracuency.Text);               //ввод частоты вращения абразивного круга
            Vk = (PI * D * nk) / (60.0 * 1000.0);                                //расчет скорости вращения круга
            d = Convert.ToDouble(textBox_partDiametr.Text);                      //ввод диаметра детали
            Vd = (PI * d * nk) / 1000.0;                                         //расчет скорости детали
            t = Convert.ToDouble(textBox_cuttingDepth.Text);                     //ввод глубины резания
            Sn = Convert.ToDouble(textBox_longitudinalFeed.Text);                //ввод скорости продольной подачи
            Pz = Cp * Math.Pow(Vd, 0.7) * Math.Pow(Sn, 0.7) * Math.Pow(t, 0.6);  //расчет силы резания
            T = Pz * b * (Vk / 15);                                              //расчет температуры на отдельном участке
            L = Convert.ToDouble(textBox_workpieceLength.Text);                  //ввод длины заготовки
            widthCircle = Convert.ToDouble(textBox_widthCircle.Text);            //ввод ширины круга
            landingHole = Convert.ToDouble(textBox_landingHole.Text);            //ввод диаметра посадочного отверстия
            t0 = ((L * a) / (nk * Sn * t) * K);                                  //расчет времени обработки детали
            mainTime = string.Format("{0:0.####}", t0);
            label_grindingTimeProcess.Text = mainTime.ToString();                //вывод времени процесса шлифования
 
            //занесение значений в базу данных
            using (SQLiteConnection Connect = new SQLiteConnection(@"Data Source=C:\\Users\\Евгений\\Documents\\Visual Studio 2019\\Projects\\Grinding3\\Grinding3\\TestCircle.db; Version=3;"))
            {
                string commandText = "CREATE TABLE IF NOT EXISTS [Type] ([temperature] REAL NOT NULL, [diametr] REAL NOT NULL, [widthCircle] REAL NOT NULL,[landingHole]   REAL NOT NULL,[materialGrain] TEXT NOT NULL,[abrasiveWheelGrit] REAL NOT NULL,[abrasiveWheelHardness] TEXT NOT NULL,[structAbrasiveWheel]  INTEGER NOT NULL,[bunchCircle]   TEXT NOT NULL,[accurancyClass]    TEXT NOT NULL,[imbalanceClass]    INTEGER NOT NULL)";
                SQLiteCommand Command = new SQLiteCommand(commandText, Connect);
                Connect.Open(); // открыть соединение
                Command.ExecuteNonQuery(); // выполнить запрос
                Connect.Close(); // закрыть соединение
            }
 
            using (SQLiteConnection Connect = new SQLiteConnection(@"Data Source=C:\\Users\\Евгений\\Documents\\Visual Studio 2019\\Projects\\Grinding3\\Grinding3\\TestCircle.db; Version=3;"))
            {
                string commandText = "INSERT INTO [Type] ([temperature], [diametr], [widthCircle],[landingHole],[materialGrain],[abrasiveWheelGrit],[abrasiveWheelHardness],[structAbrasiveWheel],[bunchCircle],[accurancyClass],[imbalanceClass]) VALUES(@temperature, @diametr, @widthCircle,@landingHole,@materialGrain,@abrasiveWheelGrit,@abrasiveWheelHardness,@structAbrasiveWheel,@bunchCircle,@accurancyClass,@imbalanceClass)";
                SQLiteCommand Command = new SQLiteCommand(commandText, Connect);
                Command.Parameters.AddWithValue("@temperature", T);
                Command.Parameters.AddWithValue("@diametr", D);
                Command.Parameters.AddWithValue("@widthCircle", widthCircle);
                Command.Parameters.AddWithValue("@landingHole", landingHole);
                Command.Parameters.AddWithValue("@materialGrain", materialGrain);
                Command.Parameters.AddWithValue("@abrasiveWheelGrit", abrasiveWheelGrit);
                Command.Parameters.AddWithValue("@abrasiveWheelHardness", abrasiveWheelHardness);
                Command.Parameters.AddWithValue("@structAbrasiveWheel", structAbrasiveWheel);
                Command.Parameters.AddWithValue("@bunchCircle", bunchCircle);
                Command.Parameters.AddWithValue("@accurancyClass", accuracyClass);
                Command.Parameters.AddWithValue("@imbalanceClass", imbalanceClass);
                Connect.Open();
                Command.ExecuteNonQuery();
                Connect.Close();
                count++;
            }
 
 
 
 
        }
        //вывод рекомендуемого шлифовального круга 
        private void button_recommendedCircle_Click(object sender, EventArgs e)
        {
 
        }
        //событие наступает при выборе значения материал шлифования
        private void comboBox_numberGrain_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox_material.Focus();
        }
        //событие наступает при выборе значения материал 
        private void comboBox_material_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox_bunch.Focus();
        }
        //событие наступает при выборе значения связка
        private void comboBox_bunch_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox_rouhness.Focus();
        }
        //событие наступает при выборе значения шероховатость
        private void comboBox_rouhness_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox_diametrCircle.Focus();
        }
        //событие наступает при вводе значения диаметр круга
        private void textBox_diametrCircle_KeyPress(object sender, KeyPressEventArgs e)
        {
            if((e.KeyChar >='0')&&(e.KeyChar <= '9'))
            {
                return;
            }
            if(e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_rotationFracuency.Focus();
        }
        //событие наступает при вводе значения частота вращения абразивного круга
        private void textBox_rotationFracuency_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_partDiametr.Focus();
        }
        //событие наступает при вводе значения диаметр детали
        private void textBox_partDiametr_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_cuttingDepth.Focus();
        }
        //событие наступает при вводе значения глубина резания
        private void textBox_cuttingDepth_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_longitudinalFeed.Focus();
        }
        //событие наступает при вводе значения скорость продольной подачи
        private void textBox_longitudinalFeed_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_workpieceLength.Focus();
        }
        //событие наступает при вводе значения ширина заготовки
        private void textBox_workpieceLength_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_widthCircle.Focus();
        }
        //событие наступает при вводе значения ширина абразивного круга
        private void textBox_widthCircle_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                textBox_landingHole.Focus();
        }
        //событие наступает при вводе значения диаметр посадочного отверстия
        private void textBox_landingHole_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
            {
                return;
            }
            if (e.KeyChar == '.')
            {
                e.KeyChar = ',';
            }
 
            if (e.KeyChar.Equals((char)13))
                button_clearCells.Enabled = true;
                button_writeDate.Enabled = true;
            button_writeDate.Focus();
            ToolTip writeData = new ToolTip();
                writeData.SetToolTip(button_writeDate, "Записать данные в базу");
        }
 
        
    }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2021, 16:51
Ответы с готовыми решениями:

Вывод информации в DGV из базы sqllite
Как мне вывести информацию из базы в которой имеется две таблицы(main, other) в разные DGV. public SQLiteConnection sql_con; ...

Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView
Доброго времени суток. Суть проблемы в следующем: есть база с некоторым набором данных, есть фрагмент, куда внедрен RecyclerView для их...

Как скачать с базы данных sqllite нужные мне данные в структуру?
Подскажите пожалуйста, работаю через sqllite, как скачать с базы данных нужные мне данные, например в структуру rc = sqlite3_exec(db,...

29
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
18.02.2021, 17:22
Вам не приходило в голову, что Ваш код - это мрак какой-то ?
3
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
19.02.2021, 09:37  [ТС]
Мне не нужны рецензии по поводу кода, мне нужна информация как вывести данные.

Добавлено через 4 минуты
Просто я запрограмировал так, как мне нужно, чтобы работала программа.

Добавлено через 3 часа 29 минут
Хочу объяснить. Просто проект изначально написан на с++ в qt, в qt какая то проблема с дизайном в windows 10, не адекватно воспроизводится. Пришлось написать программу в с#, в c# таких проблем нет. Вот фрагмент кода на с++, как это написать в с#?
C++ (Qt)
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
 QMessageBox msg;
    QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QSQLITE");
    //db.setDatabaseName("C:\\QtPro\\Grinding_2\\TypeCircle.db");
    db.setDatabaseName("C:\\Grinding2\\TypeCircle.db");
 
    db.open();
 
if(!db.open())
{
   msg.setText("Ошибка, база данных не открыта!");
}
    QSqlQuery query;
 
    //вывод из базы данных типа шлифовального круга по минимальному диаметру
    query.exec("SELECT * FROM Type WHERE temperature=(SELECT MIN(temperature)FROM Type)");
    //query.exec("SELECT * FROM Type");
 
 
     QString X= "x";
     QString space = " ";
 
    //Выводим значения из запроса
     while (query.next())
     {
     //QString temperature = query.value(0).toString();
     QString diametr = query.value(1).toString();
     QString widthCircle = query.value(2).toString();
     QString landingHole = query.value(3).toString();
     QString materialGrain = query.value(4).toString();
     QString abrasiveWheelGrit = query.value(5).toString();
     QString abrasiveWheelHardness = query.value(6).toString();
     QString structAbrasiveWheel = query.value(7).toString();
     QString bunchCircle = query.value(8).toString();
     QString accuracyClass = query.value(9).toString();
     QString imbalanceClass = query.value(10).toString();
     ui->textEdit->insertPlainText(diametr+"X"+widthCircle+"X"+landingHole+" "+materialGrain+" "+abrasiveWheelGrit+" "+abrasiveWheelHardness+" "+structAbrasiveWheel+" "+bunchCircle+" "+accuracyClass+" "+imbalanceClass+"\n");
     }
     //вывод из базы данных среднего значения температуры
     query.exec("SELECT AVG(temperature) as avg FROM Type");
     while(query.next())
     {
         QString temperature = query.value(0).toString();
         resultTemp=temperature.toDouble();
         //вывод средней температуры
         ui->label_grindingTemperature->setText(QString::number(resultTemp, 'f',4));
     }
Меня интересует код начиная с 24 строки?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
19.02.2021, 10:40
Цитата Сообщение от nemo19 Посмотреть сообщение
Меня интересует код начиная с 24 строки?
почему не воспользуетесь EntityFramework ?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
19.02.2021, 14:00
Цитата Сообщение от nemo19 Посмотреть сообщение
Мне не нужны рецензии по поводу кода, мне нужна информация как вывести данные.
Чтобы дать "информацию", как Вы изволили выразиться в присутствии дам, нужно понять, что делает Ваш код. Однако при первом же взгляде на него возникает тошнотворный порыв и разбираться в нем нет никакого желания.
Цитата Сообщение от nemo19 Посмотреть сообщение
Просто я запрограмировал так, как мне нужно, чтобы работала программа.
Если Вам "так нужно", значит какие вопросы ? А если они возникают, значит все-таки не так, "как нужно" ?
Цитата Сообщение от nemo19 Посмотреть сообщение
Просто проект изначально написан на с++ в qt
Да хоть на лиспе, хоть на васике, хоть на жаве - какая разница ? Все этих языки, включая шарп, умеют полноценно работать с классами. Вы же это игнорируете, суя в код миллион каких-то переменных с абсолютно обезличенными названиями.
Вам намекали на то, чтобы всю эту "требуху" убрать в классы, эти "диаметры, скорости и температуры" - в их свойства, а формулы расчетов - в его методы. Тогда основной код будет резко короче и понятнее.
Далее - все эти обработчики кликов и нажатий клавиш на контролах - какое отношение они имеют к сабжу ? Но Вы все это вываливаете в топик - зачем ? Я уже не говорю про стиль: 122 по 180 строки - кто Вас так учил ? Это же антипрограммирование какое-то

Что же касается сути вопроса. Вам нужен command с "Select ... from ...", который присвоить ридеру или адаптеру (в зависимости от того, для чего он Вам нужен, если не для отображения в гриде, то достаточно ридера) и выборка нужной строки и нужных ячееек, содержимое из которых совать в нужные текстбоксы. Как это делается - достаточно просто погуглить - примеров в Сети моря и океаны.

И как резюме: выкладывайте следующий раз код того, что не получается, а не километры всех Ваших исходников. В этом случае вероятность, что Вас поймут и быстро и точно помогут, вырастет на порядки.

Добавлено через 13 минут
Не обратил внимания на код в [3] - сами виноваты - зачем был такой код в [1] ?
Что именно Вас не устраивает начиная с 24-строки ? Надеюсь, оба эти селекта вытаскивают по единственной записи ?, - иначе код теряет смысл.
1
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
19.02.2021, 16:16  [ТС]
Придется как обычно все делать самому, бестолковый форум.
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
19.02.2021, 16:32
nemo19,

Не по теме:

бестолковость? На данном форуме, вам уделяю свое время и помогаю разобраться в вашей проблеме. И я думаю не корректно писать о бестолковости.
Как выразился MsGuns, что

Цитата Сообщение от MsGuns Посмотреть сообщение
выкладывайте следующий раз код того, что не получается, а не километры всех Ваших исходников
И я с ним согласен, в рулоне туалетной бумаги, никто разбираться не будет!
, если вы смогли написать выше такую требуху, значит вам не составит труда и найти ответ на свой вопрос.



Если сильно захотеть, можно что-то получить. Читаем, только не через строку. А то как всегда, все хочется по быстрее и чтобы все было через Ж... https://www.cyberforum.ru/ado-... 82279.html
2
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
20.02.2021, 07:05  [ТС]
Меня програмировать никто не учил я самостоятельно изучил два языка, хорошего наставника не хватает. Я учусь по книгам.

Добавлено через 3 минуты
Строки 122-180 я переделаю.
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
20.02.2021, 17:53
Цитата Сообщение от nemo19 Посмотреть сообщение
Меня програмировать никто не учил
И это дало Вам основания назвать форум, возраст которого сопоставим с Вашим, и которым пользуются сотни, а может быть, и тысячи людей, многих из которых учили программированию, "бестолковым".

Порядочные люди в таких ситуациях, как Ваша, хотя бы извиняются
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
21.02.2021, 12:25  [ТС]
Прошу прощения и спасибо за помощь.
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
22.02.2021, 11:56  [ТС]
Программу доделал, спасибо за предоставленную информацию, но возникла одна проблема. В программе база sqllite и при запуске на другом компьютере программа не видит эту базу. Конкретно вылезает вот такая ошибка. Dll в папку с проектом добавил но, ошибка все равно вылезает. Наверное что сделал не так, а что не понимаю?
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
23.02.2021, 00:20
А саму базу (файл .sqlite) не забыли скопировать в папку с приложением на ПК юзера ?
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
23.02.2021, 23:17  [ТС]
Скопировал, но без результатно, relese скомпилировал.

Добавлено через 1 минуту
В qt с++ с этим как то проще, добавил нужных библиотек и все работает.
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
24.02.2021, 15:45  [ТС]
Придется наверное базу переделать под msql, так наверное проще будет.

Добавлено через 30 минут
Хотя очень хочется разобраться с sqllite. Сама база и таблица создалась во время выполнения программы. Для подключения, я просто указал путь до ее местоположение. Почему же она работает только на моем компьютере? Мне нужно, чтобы программа смогла подключится к этой базе на любом другом компьютере? В чем проблема?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
24.02.2021, 16:08
Цитата Сообщение от nemo19 Посмотреть сообщение
В чем проблема?
Может проблема в том, что вы не указали в свойствах файла БД -> копировать ?
Если ошибка вылетает при запуске программы на другой машине, значит вы что-то не корректно прописали.

Добавлено через 1 минуту
Если учитывать код:
C#
1
db.setDatabaseName("C:\\Grinding2\\TypeCircle.db");
то скорее всего так и есть, вы не добавили файл БД в проект

Добавлено через 1 минуту
И на будущее, используйте "служебные" каталоги ОС для пользователя, без админских прав могут появляться ошибки с доступом к диску "C"
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
24.02.2021, 16:38  [ТС]
А что значит "служебные каталоги" ОС? Как правильно добавить файл БД в проект? Я думал над тем что файл не добавлен, но как добавить не смог понять, потому что в мастере, который добавляет базу данных в проект, нет sqlite.
0
 Аватар для Andrey-MSK
3339 / 2226 / 387
Регистрация: 14.08.2018
Сообщений: 7,516
Записей в блоге: 4
24.02.2021, 17:39
nemo19, использовать в пути перед именем файла с БД - Environment.CurrentDirectory Свойство. И конечно файл с БД должен лежать рядом с приложением.
0
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
24.02.2021, 18:02  [ТС]
Это то у меня прописано, сама база данных не добавлена в проект. Как добавить?

Добавлено через 12 минут
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
nemo19, использовать в пути перед именем файла с БД - Environment.CurrentDirectory Свойство. И конечно файл с БД должен лежать рядом с приложением.
Объясните по подробнее, может я вас не правильно понял?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
25.02.2021, 07:36
Лучший ответ Сообщение было отмечено nemo19 как решение

Решение

Цитата Сообщение от nemo19 Посмотреть сообщение
сама база данных не добавлена в проект. Как добавить?
Правой мышью по проекту - добавить существующий элемент. Далее в свойствах этого файла выставляете - Копировать (при сборке, файл будет добавлен рядом с вашим exe-шником). Так же придется переписать строку подключения.

Не по теме:

ооо, 7000-е сообщение :)



Добавлено через 4 минуты
Цитата Сообщение от nemo19 Посмотреть сообщение
А что значит "служебные каталоги" ОС?
Это каталоги, предназначенные специально для юзверей и их программ (например, c:\ProgramData)
1
 Аватар для nemo19
14 / 11 / 3
Регистрация: 22.04.2018
Сообщений: 198
25.02.2021, 10:29  [ТС]
Файл скопировал, а как правильно переписать строку подключения?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2021, 10:29
Помогаю со студенческими работами здесь

Вывод строк из базы данных в Excel
в N-й строке базы данных найдено имя в базе, например - Александр в этой строке есть и другие колонки - Фамилия, Адрес и т.п. ...

Форматированный вывод строк из базы данных
Можно ли как-нибудь выводить строки в свой заготовленный шаблон? Я понимаю как сделать одну такую форму, но не понимаю как сделать это для...

Базы данных. Поиск и вывод информации из базы.
Вопрос к уважаемым знатокам в работе в ИСР Delphi. Имеется простая база данных(поле1-название\поле2-параметр), созданная в MS Access...

передача строк из базы SQL и вывод их JS'ом
Здравствуйте. Вопрос такой. В некой MySQ-БД есть некая таблица, у которой одно из полей текстовое, на русском языке. имя поля...

Вывод количества строк из базы по критерию
Здравствуйте , помогите реализовать такую вещь : В базе имеется столбец &quot;Статус&quot; она может иметь значения &quot;В ремонте&quot; ;...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru