Member 13824773 Ответов: 2

Как избежать избыточности данных.


Стараясь не заказывать урок дважды на одну и ту же дату и в одно и то же время.
получил этот код с youtube, но он не работает в течение долгого времени. Если я изменюсь на @name или что-то другое, кроме времени, это сработает. пожалуйста помочь

Что я уже пробовал:

Imports System.Data.OleDb

Public Class Form1

    Dim myconnstring As String = "Provider= Microsoft.Jet.OleDb.4.0;Data source=" & Environment.CurrentDirectory & "Carst.mdb"
    Dim command As OleDbCommand
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'CarstDataSet.cars' table. You can move, or remove it, as needed.
        Me.CarsTableAdapter.Fill(Me.CarstDataSet.cars)

    End Sub

    Private Sub Savebtn_Click(sender As Object, e As EventArgs) Handles Savebtn.Click
        Dim myconnection As New OleDbConnection(myconnstring)
        If Car_IdTextBox.Text = "" Or TimeDateTimePicker.Text = "" Then
            MsgBox("Please fill in the time and Car Id")
        Else



            Dim theQuery As String = "select *from cars where Time=@Time"
            Dim mycommand As New OleDbCommand(theQuery, myconnection)
            mycommand.Parameters.AddWithValue("@Time", TimeDateTimePicker)
            'mycommand.Parameters.AddWithValue("@day", Dayd)
            myconnection.Open()
            Dim myReader As OleDbDataReader = mycommand.ExecuteReader()
            If myReader.HasRows Then
                MsgBox("Already Booked", MsgBoxStyle.Exclamation, "Find some other time")
            Else

                Me.Validate()
                Me.CarsBindingSource.EndEdit()
                Me.TableAdapterManager.UpdateAll(Me.CarstDataSet)
                MsgBox("BOOKED")
                Form1_Load(Me, e)
            End If
        End If

    End sub

2 Ответов

Рейтинг:
1

OriginalGriff

Начните с чтения кода и выяснения того, что он делает и как он это делает.
Это прекрасно и денди, чтобы найти код в интернете, но если вы не хотите, чтобы он делал именно то, что он делал в этом приложении, вам всегда нужно будет изменить его в соответствии с вашими потребностями. А это означает понимание того, как это работает, а не просить кого-то другого делать за вас домашнее задание.

Идея "развития" заключается в следующем: "систематическое использование научно - технических знаний для достижения конкретных целей или требований." BusinessDictionary.com[^]
Это не то же самое, что "быстро гуглите и сдавайтесь, если я не могу найти точно правильный код".
Так что либо заплатите кому-нибудь за это, либо научитесь писать сами.


Рейтинг:
1

Jochen Arndt

Что такое TimeDateTimePicker?
Если это так ... Класс DateTimePicker (System.Окна.Формы)[^], использовать TimeDateTimePicker.Value чтобы получить значение как DateTime объект.

Заметьте также, что TIME является зарезервированным словом и поэтому должен быть заключен в квадратные скобки при использовании в качестве имени Поля или таблицы (чего обычно следует избегать):

Dim theQuery As String = "SELECT * FROM cars WHERE [Time]=@Time"