webForumDet fria alternativet

Arguments are of the wrong type

ASP

16 svar · 327 visningar · startad av SteveP

Medlem sedan mars 2003772 inlägg
Frågan#1

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.


	Dim ObjRS
	Dim strSQL
	Dim ObjConn
	Dim frmPostListID
	Dim frmCurrentStatusList
	Dim frmOfficeList
	Dim frmPostTypeID
	Dim frmOrgID
	Dim frmReceivedDate
	Dim frmSentDate
	Dim frmSentFrom
	Dim frmSender
	Dim frmFileRefNo
	Dim frmSentTitle
	Dim frmNotes
	
	Set ObjConn = Server.CreateObject("ADODB.Connection")
	Set ObjRS = Server.CreateObject("ADODB.Recordset")
	ObjConn.Open connect_string()
	
	frmPostListID = Request.Form("frmPostListID")
	frmCurrentStatusList = Request.Form("frmCurrentStatusList")
	frmOfficeList = Request.Form("frmOfficeList")
	frmPostTypeID = Request.Form("frmPostTypeID")
	frmOrgID = Request.Form("frmOrgID")
	frmReceivedDate = Request.Form("frmReceivedDate")
	frmSentDate = Request.Form("frmSentDate")
	frmSentFrom = Request.Form("frmSentFrom")
	frmSender = Request.Form("frmSender")
	frmFileRefNo = Request.Form("frmFileRefNo")
	frmSentTitle = Request.Form("frmSentTitle")
	frmNotes = Request.Form("frmNotes")
	
	
	strSQL = "spPostlistData_Update " _
				& frmPostListID & ",'" _
				& frmCurrentstatuslist & "','" _
				& frmOfficeList & "','" _
				& frmPostTypeID & "'," _
				& frmOrgID & ",'" _
				& frmReceivedDate & "'," _
				& frmSentDate & ",'" _
				& frmSentFrom & "','" _
				& frmSender & "','" _
				& frmFileRefNo & "','" _
				& frmNotes & "','" _
				& frmSentTitle & "'"
	
	ObjRS.Open strSQL, ObjConn, 128
		
	ObjRS.Close
	ObjConn.Close
	Set ObjRS = Nothing
	Set ObjConn = Nothing

SP'n ser ut såhär

CREATE PROCEDURE spPostlistData_Update

	@frmPostListID		INT,
	@frmCurrentStatusList 	TINYINT,
	@frmPostTypeID		TINYINT,
	@frmOfficeList		TINYINT,
	@frmReceivedDate 	DATETIME,
	@frmSentDate		DATETIME,
	@frmSender		VARCHAR,
	@frmOrgID			INT,
	@frmSentFrom		VARCHAR,
	@frmSentTitle		VARCHAR,
	@frmFileRefNo		CHAR(11),
	@frmNotes			VARCHAR

AS

UPDATE	tblPostlist

SET	

	PostListID = @frmPostListID,
	CurrentStatusList = @frmCurrentStatusList,
	PostTypeID = @frmPostTypeID,
	OfficeList = @frmOfficeList,
	ReceivedDate = @frmReceivedDate,
	SentDate = @frmSentDate,
	Sender = @frmSender,
	OrgID = @frmOrgID,
	SentFrom = @frmSentFrom,
	SentTitle = @frmSentTitle,
	FileRefNo = @frmFileRefNo,
	Notes = @frmNotes

WHERE	PostListID = @frmPostListID

RETURN (@@ERROR)
GO
Medlem sedan juni 200032 967 inlägg
#2
  1. Vilken rad pekar felmeddelandet på?
  2. Vad är connect_string() ?
  3. Du har en massa apostrofer runt heltalsvärden i ditt anrop till proceduren. Ha inte det.
  4. Om du inte ska ha data tillbaka, så ska du inte använda recordset överhuvudtaget. När du exekverar:
objConn.Execute strSQL, , 128

Det är nog därifrån felmeddelandet kommer, eftersom parametrarna du skickade nog får anses vara felaktiga.

Mvh

Medlem sedan mars 2003772 inlägg
#3

Nu borde apostroferna vara rätt.
Men får felet

Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near '/'.

/rainbow/POSTLIST/includes/PostList_Functions.asp, line 610

strSQL = "spPostlistData_Update " _
				& frmPostListID & "," _
				& frmCurrentstatuslist & "," _
				& frmOfficeList & "," _
				& frmPostTypeID & "," _
				& frmOrgID & ",'" _
				& frmReceivedDate & "'," _
				& frmSentDate & ",'" _
				& frmSentFrom & "','" _
				& frmSender & "','" _
				& frmFileRefNo & "','" _
				& frmNotes & "','" _
				& frmSentTitle & "'"
	
	[b]objConn.Execute strSQL, , 128[/b]

Connect_String()
är min connectionfunction.. den använder jag till allt annat och den fungerar bra.

Medlem sedan juni 200032 967 inlägg
#4

Skriv ut SQL-frågans innehåll och se om det är något där som ser galet ut.

Mvh

Medlem sedan mars 2003772 inlägg
#5

hmm
Error converting data type int to datetime

spPostlistData_Update 2520,982,601,14,10000615,'17/10/1995','13/10/1995','CBI, Centre Point','John Cridland','','','CBI/Lane Clark Peacock Pensions Conference 1995'

Det gör väl ingenting att 2 fält är tomma?
Dom tomma fälten är av typ Char och Comment

Medlem sedan juni 200032 967 inlägg
#6

Nej, det ska inte göra något att fälten är tomma, det är ju faktiskt två giltiga strängar.

Det är någon av dina inparametrar till proceduren som är felaktiga. Första datumvärdet har du lagt där proceduren förväntar sig det andra, så servern försöker omvandla 10000615 till ett datum.

Kontrollera dina parametrar alltså.

Mvh

Medlem sedan mars 2003772 inlägg
#7

Ah ok
Men jag får fortf samma fel.

Nu tycker jag dom är i rätt ordning

CREATE PROCEDURE spPostlistData_Update

	@frmPostListID		INT,
	@frmCurrentStatusList 	INT,
	@frmPostTypeID	INT,
	@frmOfficeList		INT,
	@frmOrgID		INT,
	@frmReceivedDate 	DATETIME,
	@frmSentDate		DATETIME,
	@frmSentFrom		VARCHAR,
	@frmSender		VARCHAR,
	@frmFileRefNo		CHAR(11),
	@frmSentTitle		VARCHAR,
	@frmNotes		VARCHAR

AS

UPDATE	tblPostlist

SET	

	PostListID = @frmPostListID,
	CurrentStatusList = @frmCurrentStatusList,
	PostTypeID = @frmPostTypeID,
	OfficeList = @frmOfficeList,
	OrgID = @frmOrgID,
	ReceivedDate = @frmReceivedDate,
	SentDate = @frmSentDate,
	SentFrom = @frmSentFrom,
	Sender = @frmSender,
	FileRefNo = @frmFileRefNo,
	Notes = @frmNotes,
	SentTitle = @frmSentTitle

WHERE	PostListID = @frmPostListID

RETURN (@@ERROR)
GO

strSQL = "spPostlistData_Update " _
				& frmPostListID & "," _
				& frmCurrentstatuslist & "," _
				& frmOfficeList & "," _
				& frmPostTypeID & "," _
				& frmOrgID & ",'" _
				& frmReceivedDate & "','" _
				& frmSentDate & "','" _
				& frmSentFrom & "','" _
				& frmSender & "','" _
				& frmFileRefNo & "','" _
				& frmNotes & "','" _
				& frmSentTitle & "'"
				
				Response.Write strsql
	
	objConn.Execute strSQL, , 128
Medlem sedan juni 200032 967 inlägg
#8

Hmm, samma fel säger du? Ser utskriften likadan ut som innan?

Medlem sedan mars 2003772 inlägg
#9

Jag ska uppdatera ett fält i taget så märker jag när det går fel.
Tack!

Medlem sedan mars 2003772 inlägg
#10

Ok Felet kommer när jag ska uppdatera Datumet


spPostlistData_Update 982,14,601,10000821,'19/10/1995',2526 
Microsoft OLE DB Provider for SQL Server error '80040e07' 

Error converting data type varchar to datetime. 

strSQL = "spPostlistData_Update " _
				& frmCurrentstatuslist & "," _
				& frmPostTypeID & "," _
				& frmOfficeList & "," _
				& frmOrgID & ",'" _
				& frmReceivedDate & "',"_
				& frmPostListID

Behöver jag nå # runt datumet eller nåt?

Medlem sedan mars 2003772 inlägg
#11

DBA'n hade satt Datetime(8)
Och formatet man skrev det i va dd/mm/yyyy vilket är 10 chars, därför fungerade det inte.

Medlem sedan juni 200032 967 inlägg
#12

SteveP skrev:

Error converting data type varchar to datetime.

Du sa ju att det var samma fel som innan? :o

SteveP skrev:

Behöver jag nå # runt datumet eller nåt?

Det är bara i Access man har # runt datumvärden. Det är apostrofer som gäller.

Mvh

Medlem sedan mars 2003772 inlägg
#13

Nu funkar det varjefall. Tack @nders

Medlem sedan juni 200032 967 inlägg
#14

Varsågod! :D

mvh

Medlem sedan mars 2003772 inlägg
#15

haha detta är sjukt

Skriver jag i 12/10/1995 i datumrutan så fungerar det finfint
men skriver ja 13/10/1995 och uppåt på dagen så får jag
"Error converting data type varchar to datetime."

men 01/10/1995 - 12/10/1995 funkar bra men det blir error mellan 13/10/1995 - 31/10/1995

Medlem sedan juni 200032 967 inlägg
#16

Är du säker på att det inte är mm/dd/yyyy som gäller då?

Medlem sedan mars 2003772 inlägg
#17

Okej då vare ju inte så sjukt ändå.
Jag som e snurrig bara.
Tack igen ;)=

förresten.. kan man sätta nån check på den?
Inte så snyggt om nån skriver in fel datum, ser illa ut med ett felmeddelande

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)