Рейтинг:
1
OriginalGriff
Подобный этому:
Dim actDate as DateTime = DateTime.Now
cmd.parameters.AddWithValue("letdate", sctDate)
Khabibb Mubarakk
это сделать несоответствие критериям !
OriginalGriff
Тогда вы пытаетесь хранить даты в виде строк, что очень плохая идея - она всегда возвращается, чтобы укусить вас позже.
Измените свою базу данных таким образом, чтобы элементы хранились в соответствующих типах данных: целые числа в INT, плавающая точка в FLOAT, деньги в десятичной системе счисления и даты в Столбцах DATE, DATETIME или DATETIME2. Только строковые данные в столбцы varchar или nvarchar.
Khabibb Mubarakk
я не буду хранить дату в виде строки..
именно я установил БД в соответствующий тип данных.
но когда я пытаюсь сохранить с помощью date. now или datetime.now, то получаю сообщение о несоответствии критериям..
OriginalGriff
Покажите точный код, который вы используете, и ваш дизайн таблицы.
Khabibb Mubarakk
это точный мой код, как вы хотите
letdate на доступ к базе данных, используя тип данных датавремя..
call koneksi()
sql = "insert into cube([no],[letdate])" & " "values(?,?)"
cmd = New OleDbCommand(sql, conn)
dim actdate as datetime = DateTime.Now
With cmd.Parameters
.Add(New OleDbParameter("@no", CType(serno.Text, Integer)))
.Add(New OleDbParameter("@letdate", CType(actdate, Date)))
End With
cmd.ExecuteNonQuery()
cmd.Dispose()
conn.Close()
OriginalGriff
Есть ли смысл говорить вам, что делать, если вы игнорируете его, а затем жалуетесь, что он не работает?
Khabibb Mubarakk
какой ?
вот этот
Dim actDate as DateTime = DateTime.Now
cmd.parameters.AddWithValue("letdate", sctDate)
прежде чем комментировать несоответствие я попробовал сначала
тогда я говорю это дайте мне несоответствующее сообщение
OriginalGriff
Должно быть, "actDate", а не" sctDate " - проблема с пальцем на моем конце.
Khabibb Mubarakk
я знаю, что вы хотите именно "actdate" ..
поэтому я пытаюсь использовать "acdate"
как бы то ни было ... я все еще путаю, почему не могу сохранить datetime.now..
Я использую Скрыть скопировать код
dim actdate as datetime = datetime.now.tostring("MM/dd/yyyy HH:mm:ss")
это будет сохранение правильной даты доступа ..
я думаю, что, возможно, я должен следовать общему формату доступа.
OriginalGriff
Нет, не будет.
Это струна. Не отправляйте его в виде строки; Не храните его в виде строки.
Отправьте его как DateTime, как в моем примере; сохраните его как столбец DATE, DATETIME или DATETIME2.
Никогда не превращайте вещи без необходимости...
Khabibb Mubarakk
но как? если я найду правильный метод хранения с помощью datetime, то теперь я буду использовать его..
я посылаю как строку
так для чего же это объявлено "dim actdate as datetime"?
тогда в моей БД все еще используется datetime datatype..
может, как-нибудь устроим конфлик?
я думаю, что все это выглядит Оке..
OriginalGriff
Давайте вернемся к самому началу...
Используйте Access, чтобы сгенерировать сценарий для определения таблицы и опубликовать его.
Khabibb Mubarakk
как использовать Access для создания скрипта для определения таблицы ?
OriginalGriff
Извините, я забыл, насколько примитивен доступ ... Я использую SSMS.
Идти сюда:
https://www.pcworld.com/article/168319/MDB_Viewer_Plus.html
А скачать EXE-файл-это безопасно и очень удобно.
Запустите приложение и откройте файл MDB.
Воспользуйтесь меню " таблица "и выберите пункт"Generate SQL - CREATE".
Это откроет окно с командой CREATE TABLE для создания вашей таблицы.
Khabibb Mubarakk
да, letdate использует datetime.
OriginalGriff
Покажите созданную им команду CREATE TABLE.
Khabibb Mubarakk
CREATE TABLE [CUBE]
( [NO] SMALLINT,
[LETDATE] DATETIME
)
OriginalGriff
Итак, код, который я показал, должен работать нормально - он передает значение DATETIME напрямую, а ваша таблица является столбцом DATETIME, так что это должно работать. Так... логически, это не LETDATE, который вызывает проблему. Посмотрите на нет - это небольшое число, поэтому самое большое число, которое оно может содержать, - это 32767, максимальное положительное значение в 16-битном числе. Но Integer в .NET - это 32-битное число, которое может содержать гораздо бОльшие значения. Какое значение, по словам отладчика, находится в serno.Текст, когда вы передадите это? Не гадайте и не предполагайте-используйте отладчик и смотрите!
Khabibb Mubarakk
Я думаю, что пропущу формат даты.. я пытаюсь просто сохранить дату. теперь в letdate .я все еще получаю несоответствие msg
PIEBALDconsult
Не храните даты в виде строк. Когда-либо.