Får upp följande meddelande när jag försöker skicka datan från ett textfält till en databas... Lite optimeringsförslag: okejj tack så mkt.. ska genast prova det här... återkommer om de inte skulle funka =)problem med textfält....
tilläggas ska att jag har fått det att funka med följande rad:
<select name="fldtill">
<option selected value=""></option>
<% Do Until users.EOF %>
<option value="<% =users("fldID")%>"><% =users("fldusername")%></option>
<% users.MoveNExt %>
<%loop%>
</select>
men eftersom att ja inte vill ha nån select så har ja försökt med
textfält men det fungerar inte nån som vet om det är nått ja missat??
Felmeddelande:
Technical Information (for support personnel)
Error Type:
Provider (0x80020005)
Type mismatch.
/sendmail.asp, line 82
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.1)
den input:en där datan som ska skickas till fldtill i databasen:
<input type="text" readonly name="fldtill" value="<% =request.querystring("till") %>">
<%
if request.querystring("vad") = "skicka" then
set con = server.createObject("ADODB.Connection")
con.open db
Set mail = Server.CreateObject("ADODB.Recordset")
mail.Open "SELECT * FROM tblmail",Con,adOpenStatic,adLockOptimistic
mail.AddNew
rad 82 --> mail("fldtill") = request("fldtill"))
mail("fldfran") = Cstr(intuserid)
mail("fldrubrik") = request("fldrubrik"))
mail("fldtext") = request("fldtext")
mail("flddatum") = Now()
mail.Update
response.redirect "mail.asp?vad=skickats"
end if
%>Sv: problem med textfält....
<code>
<select name="fldtill">
<option selected value=""></option>
<%
Dim fldID
Dim fldUserName
Set fldID = users("fldID")
Set fldUserName = users("fldusername")
Do Until users.EOF
Response.Write " <option value=""" & fldID & """>" & fldUserName & "</option>"
users.MoveNext
loop
%>
</select>
</code>
Tror ditt felmedelande beror på att du inte valt något. Alltså är vädet en tom strän. Vilket databasmotorn tolkat som felaktig datatype. Kan oxå beror oxå på med vilken metod du skickar data från formuläret. Använder du POST eller GET. Om du anget POST skall du hämta värdena från Request.Form("Namn"). Om du istället använder GET skall du skriva Request.Querystring("Namn"). Jag antar att du använder GET som metod för att skicka formulärdata:
<code>
<input type="text" readonly name="fldtill" value="<%=Request.Querystring("till") %>">
<%
If Request.Querystring("vad") = "skicka" then
set con = server.createObject("ADODB.Connection")
con.open db
Set mail = Server.CreateObject("ADODB.Recordset")
mail.Open "SELECT * FROM tblmail", Con, adOpenStatic, adLockOptimistic
mail.AddNew
'rad 82 -->
If IsNumeric(Request.Querystring("fldtill")) Then
mail("fldtill") = CLng(Request.Querystring("fldtill")))
Else
mail("fldtill") = Null
End if
mail("fldfran") = Cstr(intuserid)
mail("fldrubrik") = request("fldrubrik"))
mail("fldtext") = request("fldtext")
mail("flddatum") = Now()
mail.Update
response.redirect "mail.asp?vad=skickats"
End If
%>
Alternativt:
<input type="text" readonly name="fldtill" value="<%=Request.Querystring("till") %>">
<%
If Request.Querystring("vad") = "skicka" then
If IsNumeric(Request.Querystring("fldtill")) Then
set con = server.createObject("ADODB.Connection")
con.open db
Set mail = Server.CreateObject("ADODB.Recordset")
mail.Open "SELECT * FROM tblmail", Con, adOpenStatic, adLockOptimistic
mail.AddNew
'rad 82 -->
mail("fldtill") = CLng(Request.Querystring("fldtill")))
mail("fldfran") = Cstr(intuserid)
mail("fldrubrik") = request("fldrubrik"))
mail("fldtext") = request("fldtext")
mail("flddatum") = Now()
mail.Update
response.redirect "mail.asp?vad=skickats"
Else
Response.Write "Du har inte angivit någon mottagare"
End If
End If
%>
</code>Sv: problem med textfält....
//J.E