2013-08-02 2 views
1

Я пишу код, который вызывает столбец из набора данных с использованием SQL-запроса. Я использую два параметра, чтобы определить, какие строки выбрать. Один из них - ProductSerialNumber, а другой - дата-метка. Смотрите мой SQL запрос нижеИспользование параметра Date в SQL-запросе, ASP.net

Select TestStation FROM tblData 
    WHERE ProductSerialNumber = ? AND Datetimestamp = ? 

В DataTable в productserialnumber набора данных отформатированы как текст, а другой в формате даты (как и следовало ожидать).

В моем коде vb.net я беру Datetimestamp из другого источника (не спрашивайте, почему, единственное, что вам нужно знать, это то, что он захватывает действительную дату-дату, определяемую как дата, которая точно совпадает с tblData), и я использую предварительный запрос для генерации данных. Запрос является заливка запрос называется «TestStationLookUp»

мой vb.net код выглядит следующим образом

Dim dt as new dataset.tbldataDataTable 
    Dim dta As New DataSetTableAdapters.tbldataTableAdapter 
    Dim ProductSerialNumber as string = "XXXXXX" 
    Dim DateTimeStamp as date = SomeDateVariable 
    dta.TestStationLookUp(dt, ProductSerialNumber, DateTimeStamp) 

Именно здесь код говорит мне:

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. 

     Line 7366:    dataTable.Clear 
     Line 7367:   End If 
Error: Line 7368:   Dim returnValue As Integer = Me.Adapter.Fill(dataTable) 
     Line 7369:   Return returnValue 
     Line 7370:  End Function 

Я не могу понять, почему это возникает ошибка, поскольку все измеряется так, как должно быть. Эта точная настройка кода работает в другом месте моего кода (за исключением того, что он не использует дату), но эта конкретная часть не будет работать.

Кроме того, если я перейду к набору данных в своем решении, я могу использовать «данные предварительного просмотра» в этом запросе и ввести ТОЧНЫЕ параметры (ProductSerialNumber и DateTimeStamp, которые соответствуют записи в таблице) И то, что я использую в моем VB-коде), и он даст мне создать таблицу, которую я хочу.

Может ли кто-нибудь помочь?

+0

Я извиняюсь, я не понимаю ваш комментарий. dta.TestStationLookUp - это запрос TableAdapter. Я предоставил код запроса выше (я просто изменил название вещей по конфиденциальным причинам) – user2646256

+0

Что делать, если вы увеличиваете размер своего поля? Какого размера у вас сейчас есть? –

ответ

1

Эта ошибка означает, что вы пытаетесь получить доступ не действительный уникальный идентификатор «ProductSerialNumber», может быть, не существует

Не удалось включить ограничения. Одна или несколько строк содержат значения , нарушающие непустые, уникальные или внешние ключи.

Вместо того чтобы передавать переменную, которая приходит из набора данных, передать действительное число, которое вы уверены, что она существует в базе данных

Смежные вопросы