Я некоторое время задерживался на этой ошибке, в vb.net пытался подключиться к SQL и вытащить данные из таблицы в течение дня, используя параметры для этого, datetimepicker - данные, сохраненные для SQL в пользовательском формате datetime dd/MM/yyyy HH: mm: ss,Must declae Скалярная переменная
Когда я выполняю свой код, я получаю «Должен объявить скалярную переменную @startdata». Когда я удаляю код «и startdate> = @startdata И STARTDATE < @enddata "он работает, но показывает все данные без диапазона дат, как это должно быть.
connect()
cmd.Parameters.Clear()
cmd.CommandText = "SELECT status, startdate, seconds FROM [sqlccmlinestatus] WHERE line = '" & ComboBox1.Text & "' and startdate >= @startdata AND startdate < @enddata "
cmd.Parameters.AddWithValue("@startdata", DateTimePicker1.Value)
cmd.Parameters.AddWithValue("@enddata", DateTimePicker1.Value.AddDays(1))
cmd.ExecuteScalar()
Dim dataAdapter = New SqlDataAdapter(cmd.CommandText, con.ConnectionString)
Dim table As New DataTable()
table.Locale = System.Globalization.CultureInfo.InvariantCulture
dataAdapter.Fill(table)
Me.BindingSource1.DataSource = table
DataGridView1.DataSource = BindingSource1
disconnect()
DataGridView1.RowHeadersWidth = "28"
DataGridView1.Columns(0).Width = 78
DataGridView1.Columns(1).Width = 78
DataGridView1.Columns(2).Width = 95
DataGridView1.Columns(0).HeaderText = "Status:"
DataGridView1.Columns(1).HeaderText = "Date:"
DataGridView1.Columns(2).HeaderText = "Seconds:"
DataGridView1.EnableHeadersVisualStyles = False
DataGridView1.Rows(0).Selected = True
Любая помощь будет большим,
Большое спасибо, Пит
Разве вы не используете 'MySqlDataAdapter' вместо' SqlDataAdapter'? Использует ли поставщик данных поддержку названных параметров? –