webForumDet fria alternativet

Strängen avklippt?

.NET

3 svar · 262 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#1

Har ett antal metoder för datahantering, det som ger ett problem är ett som skapar ett recordset.

När jag kör LoginUser så verkar den klippa av strSQL efter som SQL:en återger ett felmeddelande:

SQL skrev:

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

Line 1: Incorrect syntax near 'Vide'.

Kör jag utan att gå via metoderna (i ASP) så fungerar det prima.

Koden för relevanta metoder:

Public Function LoginUser(ByVal strUserName As String, ByVal strPassword As String) As Boolean
    Dim rsLogin As ADODB.Recordset
    oDB.CreateRecordSet "Login", "PK", "select * from members where UserName = '" & strUserName & "' AND Password = '" & strPassword & "'"
    Set rsLogin = oDB.GetRecordSet("Login")
    If Not rsLogin.EOF Then
        LetUserID = rsLogin("ID")
        BindUser
        LoginUser = True
    Else
        LoginUser = False
    End If
    Set rsLogin = Nothing
End Function

Public Sub CreateRecordSet(ByVal strRecordSetName As String, ByVal strConnectionStringName As String, ByVal strSQL As String)
  Dim oRecordSet As ADODB.Recordset
  Set oRecordSet = New ADODB.Recordset
  Set oRecordSet = GetConnectionObject(strConnectionStringName).Execute(DBSecure(strSQL))
  oRecordSets.Add strRecordSetName, oRecordSet
  Set oRecordSet = Nothing
End Sub

Så min tanke är att strängen på något sätt trunkeras.

Mvh, Vide

Medlem sedan juni 200032 967 inlägg
#2

Hej!

Du kör funktionen DBSecure på hela din SQL-fråga. Jag antar att den escapear apostrofer. Det bör du inte göra. eftersom du då gör så att frågan blir felaktig. Frågan som kommer fram till SQL-servern ser förmodligen ut något sånt här (och då förstår du nog varför det blir fel):

select * from members where UserName = ''Vide''  AND Password = ''baha''

Mvh,

Medlem sedan dec. 19998 577 inlägg
#3

Men hur dum får man bli egentligen. :e

Du är en stor klippa @! :D

Medlem sedan dec. 20003 887 inlägg
#4

Hehe... man blir alltid lika förvånad när man tittar ner på golvet och upptäcker att man förlagt huvudet vid papperskorgen. Skumt. Tur det finns folk som påpekar dessa saker åt ens kropp. :)

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