Im mit TableAdapters zum Einfügen von Werten in eine Tabelle.Meine TableAdapter generieren Datetime2 Felder als String
Heres meinen Tisch aaTest
CREATE TABLE [dbo].[aaTest](
[id] [int] IDENTITY(1,1) NOT NULL,
[INVOICEDATE] [datetime2](0) NULL,
[CHARGEDATE] [datetime2](0) NULL,
[EZPASS] [varchar](50) NULL,
[PLAZA] [varchar](10) NULL,
[PLAZA2] [varchar](10) NULL,
[PDATE] [datetime2](0) NULL,
[PTIME] [varchar](9) NULL,
[PAMOUNT] [decimal](18, 2) NULL,
[PBALANCE] [decimal](18, 2) NULL,
[ACTION] [varchar](10) NULL
) ON [PRIMARY]
in meinem Datensatz mein Erstbefüllung Befehl ist select * from aatest
und ive einen Einsatz Abfrage
INSERT INTO [aatest] ([INVOICEDATE], [CHARGEDATE], [EZPASS], [PLAZA], [PLAZA2], [PDATE], [PTIME], [PAMOUNT], [PBALANCE], [ACTION])
VALUES (@INVOICEDATE, @CHARGEDATE, @EZPASS, @PLAZA, @PLAZA2, @PDATE, @PTIME, @PAMOUNT, @PBALANCE, @ACTION)
jetzt unter meinem Dataset-Designer erstellt, meine Abfrage deklariert wird als solche
public virtual int InsertQuery(string INVOICEDATE, string CHARGEDATE, string EZPASS, string PLAZA, string PLAZA2, string PDATE, string PTIME, global::System.Nullable<decimal> PAMOUNT, global::System.Nullable<decimal> PBALANCE, string ACTION)
das Problem ich m has is, INVOICEDATE
, CHARGEDATE
und PDATE
werden als Strings erzeugt, wenn sie tatsächlich datetime2
sind. das verursacht die Ausnahme
Die beste überladene Methodenübereinstimmung für (Mydataset) hat einige ungültige Argumente.
das Ändern in datetime funktionierte vorübergehend, aber nach einiger Zeit wurden sie wieder in Strings umgewandelt.
versuchen Sie eine regelmäßige Datetime anstelle von DateTime2. Ich denke, dass Tableadapter eine ältere Technologie sind, die den neuen SQL-Server-Datentyp möglicherweise nicht erkennt. – Jeremy