SQL クエリを使用してデータセットから列を呼び出すコードを書いています。2 つのパラメーターを使用して、選択する行を識別します。1 つは ProductSerialNumber で、もう 1 つは日時スタンプです。以下の私のSQLクエリを参照してください
Select TestStation FROM tblData
WHERE ProductSerialNumber = ? AND Datetimestamp = ?
データセットのデータテーブルでは、productserialnumber はテキストとしてフォーマットされ、もう 1 つは日付としてフォーマットされます (ご想像のとおり)。
私の vb.net コードでは、別のソースから Datetimestamp を取得します (理由は聞かないでください。知っておく必要があるのは、tblData のエントリと正確に一致する、日付としてディメンション化された有効な datetimestamp を取得することだけです)。既製のクエリを使用してデータテーブルを生成します。クエリは「TestStationLookUp」という Fill クエリです。
私の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 コードで使用するもの) を入力できます。 )そして、私が望むテーブルを作成してくれます。
誰でも手伝ってもらえますか?