Vraag : Lege karakters die in SQL Lijst via ADODB worden opgenomen

Algemene taak:  Ik lees een spreadsheet van Excel en bevolk een SQL gegevensbestand met de informatie van de spreadsheet wordt gelezen die.  Het volgende codefragment toont hoe ik aan een gebied genoemd „FirstName“ schrijf.

„verklaart een recordset
Schemerige myTableRS aangezien ADODB.Recordset
“ recordset
maken plaatsen myTableRS = Nieuwe ADODB.Recordset
'open recordset gebruikend een lijst in het gegevensbestand, en connection
myTableRS.Open „tblContactInformation“, g_adoCon, adOpenDynamic, adLockPessimistic
myTableRS.AddNew
streptokok = g_WS.Cells (4, 2)
myTableRS.Fields („FirstName“) de functie/>
The StrValue = wordt van StrValue (streptokok)
myTableRS.Update

Function StrValue (streptokok als Koord) als/> streptokok String
als (Len (streptokok) is gelezen =/> streptokok 0) Then
het Eind If
StrValue = str
EndFunction

The door StrValue is teruggekeerd is correct, maar zodra het aan Gebieden („FirstName“) wordt toegewezen er zijn extra spaties op het eind van het gebied dat.  „FirstName wordt“ verklaard als een nvarchar (40) gebied dat geen nulls.

Thanks voor uw help.
goedkeurt

Antwoord : Lege karakters die in SQL Lijst via ADODB worden opgenomen

>>This veroorzaakt elk gebied om gevuld leeg te zijn. <>Echt is dat niet wat het verklaart.  Hier is het opnieuw:

Het VASTGESTELDE plaatsen ANSI_PADDING beïnvloedt nchar, nvarchar, ntext, tekst, beeld, en geen grote waarde. Zij tonen altijd VASTGESTELDE ANSI_PADDING OP gedrag. Dit betekent slepend ruimten en nul worden niet in orde gemaakt.

Zo als er het slepen ruimten zijn komt het uit uw code.

Maar neem mijn woord voor het niet, het volgende in SSMS uit testen:
1:
2:
3:
4:
5:
Van het TUSSENVOEGSEL tblContactInformation (FirstName) WAARDEN („SheahaST“)

SELECTEER	„|“ + FirstName + „|“
VAN	tblContactInformation
WAAR	FirstName = „SheahaST“
Andere oplossingen  
 
programming4us programming4us