Сохраните среднее значение из первой таблицы во вторую таблицу и удалите данные из первой таблицы после сохранения
привет...
У меня есть две таблицы, и я хочу сохранить значение из датчика, когда значение датчика>0 в первой таблице и когда значение датчика=0 я хочу вычислить среднее значение датчика в первой таблице и сохранить результат во второй таблице и удалить данные в первой таблице в первой таблице. vb.net
Что я уже пробовал:
hi... I have two tables and I want save value from senser when the sensor value>0 in first table and when senser value=0 I want calculate the average sensor value in first table and save the resulat in second table and delete the data in first table in vb.net
MadMyche
SQL Server?
Member 14044492
да с sql server
Member 14044492
это мой код
Частная суб Timer1_Tick(как byval отправителя как объект, как byval E Как системы.EventArgs) Обрабатывает Timer1.Tick
Если s1.Тогда IsOpen = False
С1.Имя_порта = "порт com4"
С1.Скорость передачи = 9600
С1.Открыть()
Тусклое чтение как строка
значение = С1.С readline()
-lb_case.ForeColor = Цвет.Зеленый
-lb_case.Text = "подключено"
txt_read.Текст = Преобразовать.ToString(чтение)
Если txt_read.Текст <> "" Тогда
Выберите Case Val(txt_read.Текст)
Случай 0.0
''''فحص جدول القراءات
Comm = New SqlClient.SqlCommand("SELECT * FROM first_tab", con)
SQLAdap.Команды Selectcommand = Комм
comBild = новый SqlClient.SqlCommandBuilder(SQLAdap)
SQLAdap.Заполнить(ДС, "ds_used1")
Если ДС.Таблицы ("ds_used1").строки.Тогда считайте > 0
'حساب معدل الوقود الصاعد
Comm = New SqlClient.SqlCommand("select AVG (reading) from first_tab ", con)
SQLAdap.Команды Selectcommand = Комм
comBild = новый SqlClient.SqlCommandBuilder(SQLAdap)
SQLAdap.Заполнить(ДС, "ds_avup")
Дим av_fuel_up как двойной
av_fuel_up = ds.Tables("ds_avup").Строки(0).Элемент(0)
'حساب تاريخ التشغيل
Comm = New SqlClient.SqlCommand("select read_date from first_tab where id=1", con)
SQLAdap.Команды Selectcommand = Комм
comBild = новый SqlClient.SqlCommandBuilder(SQLAdap)
SQLAdap.Заполнить(ДС, "ds_read_date")
Dim work_date как дата
work_date = ds.Tables("ds_read_date").Строки(0).Элемент(0)
'حساب مدة التشغيل
Комм = Новый Sqlclient Как.Команда sqlcommand("выберите datediff(с(выберите read_date от first_tab где id=1),(Выбрать read_date от first_tab где ID=(выбрать Макс(ид)от first_tab)))", кон)
SQLAdap.Команды Selectcommand = Комм
comBild = новый SqlClient.SqlCommandBuilder(SQLAdap)
SQLAdap.Заполнить(ДС, "ds_working_period")
Dim working_period как целое число
working_period = ds.Tables("ds_working_period").Строки(0).Элемент(0)
'اضافة البيانات الى جدول التشغيل
Comm = New SqlClient.SqlCommand("SELECT * FROM second_table", con)
SQLAdap.Команды Selectcommand = Комм
comBild = новый SqlClient.SqlCommandBuilder(SQLAdap)
SQLAdap.Заполнить(ДС, "ds_working")
Дим рп2 качестве объекта datarow
рп2 = ДС.Столы("ds_working").Невров
dr2.Item("working_date") = work_date
dr2.Item("read_av") = av_fuel_up
рп2.Пункт("период") = working_period
ДС.Столы("ds_working").Строк.Добавить(рп2)
комбильд.Getupdatecommand будет()
SQLAdap.Обновление(ds, "ds_working")
против.Закрывать()
'تصفير جدول الاستخدام
Дим УМК как нового sqlclient как.Команда sqlcommand
УМК.Свойство Commandtype = Значение Commandtype.Текст
УМК.CommandText = "усечь таблицу first_tab"
УМК.Подключение = кон
против.Открыть()
УМК.Метод executenonquery()
против.Закрывать()
Еще
MadMyche
Лучше всего было бы использовать виджет "улучшить вопрос" и вставить его в свой официальный пост.
Member 14044492
Большое спасибо!...
вы можете написать vb.net треска в событие таймера, чтобы работать ваш SQL-код, который отправлять ко мне
MadMyche
Я бы предпочел не делать этого по нескольким причинам:
1. Мое мнение заключается в том, что это задача базы данных, и что ваше приложение должно вызывать процедуру, которая содержит несколько операторов SQL
2. код должен быть изменен в соответствии с вашей схемой базы данных, которую я не знаю.
3. я считаю, что вам было бы лучше, если бы вы сами научились выполнять хранимые процедуры. Может потребоваться больше времени, чтобы написать их и включить их, но когда они написаны хорошо, они почти всегда превосходят любую рутину на стороне приложения или ORM.
Member 14044492
спасибо тебе большое....
Я успешно решил проблему, с которой столкнулся, и благодарю вас за помощь в ее решении