Mssql Problem mit zu vielen Werten

  • Wenn ich die Werte jetzt in die Tabelle eintrage und mit dem oben stehenden Code auslese, bekomme ich Kreutze anstelle der richtigen daten ausgegeben.
    Code zum eintragen

    Code
    If _SQL_Execute(-1,"INSERT INTO test (Geschaenk,Angebot1,Angebot2,Angebot3) VALUES ('"& stringtobinary(guictrlread($Edit14),2) & "','"&stringtobinary(guictrlread($Edit15),2) &"','"&stringtobinary(guictrlread($Edit16),2) & "','"& stringtobinary(guictrlread($Edit17),2) & "');") = $SQL_ERROR then Msgbox(0 + 16 +262144,"Error",_SQL_GetErrMsg())


    Erste Spalte mit nvarchar[800] und die anderen 3 mit nvarchar[50] geht aber sobald ich die 3 anderen Werte erhöhe bekomme ich nur Fehler.
    Meine Idee wäre es die Daten einzeln auszulesen, so dass diese nicht alle 4 in ein Array abgelegt werden.

    Das Problem liegt an nchar() und nvarchar() sql bedingt das die zelle größer 500 nicht leer sein darf also füllt sql die Zelle mit 500 Leerstellen
    auch wenn man nur einen Begriff hineinschreibt.
    mit varchar(max) funktioniert das eintragen auch ohne Leerstellen aber das Auslesen geht dann nicht mehr es werden 3 Leere Zellen zurückgegeben und nur die Letzte enthält Werte. (Ich hasse MSSQL)
    Villeicht hat jemand eine Idee wie man eine einzelene Zelle per Sql abfragen kann z.B. (Select Zeilex Spaltey from Tabelle)

    Lösung ist: Alle einzeln auslesen mit Select Geschaenk from test & Select Angebot1 from test usw.