Виждаме тези въпроси тук всеки ден. Те произтичат от същия проблем.
НИКОГА НЕ ИЗПОЛЗВАЙТЕ КОНКАТЕНАЦИЯ НА НИЗОВЕ ЗА СЪЗДАВАНЕ НА SQL ЗАЯВКИ.
Това е голям проблем. Разбира се, вече сте срещнали първия ефект. Как да конвертирате низове по приемлив начин в ефективния тип данни? Трябва да разрешите проблеми с анализирането с вградени кавички, правилно представяне на дати и десетични числа за основната система от бази данни. Но вторият и по-фин страничен ефект от конкатенацията на низове е SQL инжектиране (Това е само инструктивна връзка, защото SQL инжектирането е много голяма тема)
За да решите този вид проблеми, единственият приемлив начин е да използвате PARAMETERS.
Това означава, че машината на базата данни е тази, която решава по ефективен начин въпроса, имате нужда от низ с контейнери за параметри (@something) и колекция от параметри с точния тип данни за стойността на параметъра.
Така че вашият код трябва да се промени по този начин
Dim strSQL As String = "SELECT EMP_ID,EMP_NAME,AT_STATUS,AT_REMARK " +
"FROM ATTENDANCE WHERE AT_DATE = @editdate " +
"ORDER BY EMP_NAME ASC"
Using con = new SqlConnection("constring_here")
con.Open()
Using cmd = new SqlCommand(strSQL, con)
cmd.Parameters.AddWithValue("@editdate", DTPEDITAT.Value)
' do whatever you want with the command '
' like ExecuteReader or use a DataAdapter to fill datasets'
End Using
End Using