[SQL] varchar 4000

Pagina: 1
Acties:
  • 106 views sinds 30-01-2008
  • Reageer

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Ik kan wel 4000 tekens invoeren in mijn database. ik krijg ze er alleen niet meer uit. Als ik varchar op 255 zet komen wel de 255 tekens eruit maar als ik m hoger zet dan komen er maar ongeveer 150 uit.....HELP!!!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

staat toevallig de string waarin je het erin propt vanuit de database als lengte 255 gedefinieerd ?

(Het komt er op het moment uit als 160 karakters als het goed is. niet 150 :+ )

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
het zijn nu maar 107 tekens en ik heb ongeveer 20 keer het abc gepost. dus die 160 zijn het niet zoals je zei....

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Dit is de code die de data moet ophalen, in de databse staan 602 tekens..
code:
1
2
3
4
5
6
7
8
9
10
11
<body>
<%dim rsTekst
set rsTekst=con.execute("SELECT onderwerp_tekst FROM tbl_onderwerp")
do until rsTekst.eof%>
    <table border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td width="792"><%=rsTekst("Onderwerp_Tekst")%></td>
        </tr>
<%rsTekst.Movenext
loop%>
</body>

Met deze querie krijg ik maar 107 tekens terug

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

dim rsTekst

dus definieer je je string maar als 255 karakters.

Aantal karakters in je database mod 255 = 107 blijkbaar.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Dus met dim rstekst zeg ik eigelijk max 255 tekens, is er dan een ander command waarmee ik dit omzeil??

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Misschien is er wel een andere type die je kunt gebruiken. ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
nou ben ik nog niet zolang bezig met ASP, zijn er nog andere type dan?

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 10:31

Basszje

Reisvaap!]

Alle type in ASP zijn toch van het type variant???

Bovendien kan het niet aan ASP liggen, want met een acces db kan je veeeel meer tekens in een variabele pletten :?

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Doe eens een gok :)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
de laatste keer dat ik gegokt heb, verloor ik 500 gulden, dus daar doe ik niet meer aan :P

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op maandag 17 september 2001 11:26 schreef dusty het volgende:
dim rsTekst

dus definieer je je string maar als 255 karakters.

Aantal karakters in je database mod 255 = 107 blijkbaar.
Uhm, dusty, tis vbscript. Er wordt dus weinig gedefinieerd ;)
Bovendien is rsTekst een recordset-object en geen string.

on-topic:
Maar, je weet zeker dat het veld in de db een varchar(4000) is? En dat er ook 700 characters in het veld staan (getest met de QA)?

[edit] * Annie is weer eens te laat, maandagochtend :Z

Today's subliminal thought is:


  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 22-09 16:22

Greyfox

MSX rulez

Alle variabelen zijn inderdaad van het type variant in ASP. Dat je te kort ruimte in je variabele zou declareren is dus onzin.
Ik zou eerst eens met SQL Query analyser gaan kijken of je wel het juiste resultaat krijgt.

MSX 2 rulez more


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Ja er staan 600 tekens in de database, want als ik de query
code:
1
 SELECT * from tbl_onderwerp

in de database opvraag krijg ik netjes de hele tekst te zien met de 600 tekens. Doe ik dit in mijn applicatie, krijg ik er veel minder :'(

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:02

Crazy D

I think we should take a look.

Staat er misschien een nullchar oid in de tekst?
Ik heb het juist weleens andersom gehad, in de query analyzer kreeg ik maar een deel van de tekst terug, in code wel de hele lap tekst. Bleek om een bepaald karakter te gaan waardoor de query analyzer de tekst afbrak.
Anders zou ik 't niet kunnen verzinnen, er is geen enkele reden waarom VBscript de tekst zou afkappen, tenzij je dat ergens bewust zelf doet (maar dat doe je dus niet, iig niet in de code die je hier gepost hebt).

Wat je zou kunnen proberen, hoewel het niet zou moeten mogen uitmaken, is de recordset zelf gebruiken om de tabel uit te lezen, en niet via het connectie-object.execute maar ik kan me haast niet voorstellen dat dat uitmaakt.

Hmmm nog even naar de code gekeken... doe eens Len(rsTekst("onderwerp") afdrukken i.p.v. de tekst zelf? Eens kijken wat die doorgeeft?
Je html die je genereert in het stukje gepost code is nl niet echt netjes te noemen (table tag binnen de loop, maar geen sluit tag, misschien dat je browser daarom de weg kwijt is en niet alle tekens toont?).

Exact expert nodig?


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
het feit dat mn HTML niet zo netjes is, komt vanwege het feit dat in de werkelijke code er nog heel veel code onder staat maar die was niet van toepassing en heb het dus weggelaten, daarmee ook de </table>

Sorry

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Als ik len(rsTekst("Onderwerp_tekst")) doe krijg ik de volgende waarde op het scherm:
21
8
160
108
14

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:02

Crazy D

I think we should take a look.

Hmm en ik proef een ondertoontje als in 'dat moeten meer tekens zijn' ?
Ik kan zo gauw ff niks anders verzinnen dan dat er tekens instaan waardoor ADODB de tekst afkapt. Meest waarschijnlijke zou dan een nullchar zijn (Chr(0)).
Heb je VB op je machine staan? Da's een stuk handiger debuggen en proberen ed. dan in asp...

Exact expert nodig?


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 17 september 2001 11:37 schreef Annie het volgende:
Uhm, dusty, tis vbscript. Er wordt dus weinig gedefinieerd ;)
Bovendien is rsTekst een recordset-object en geen string.
/me wordt wakker en herrinert zich dat VBScript niet hetzelfde is als VB :+

ehh tja.. maandag ochtend maar ?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
Values in VARCHAR columns are variable-length strings. You can declare a VARCHAR column to be any length between 1 and 255, just as for CHAR columns. However, in contrast to CHAR, VARCHAR values are stored using only as many characters as are needed, plus one byte to record the length. Values are not padded; instead, trailing spaces are removed when values are stored. (This space removal differs from the ANSI SQL specification.)
Lijkt mij gewoon een probleem van niet nadenken over datatypes en database layout.

Lees meer op: http://www.mysql.com/doc/C/H/CHAR.html

Everyone complains of his memory, no one of his judgement.


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
Dus ik moet helemaal niet met varchar werken, omdat deze maar 255 tekens aankan :? .......Ik ben er nu wel achter dat dat blob moet zijn...maar dan....

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:02

Crazy D

I think we should take a look.

Op maandag 17 september 2001 13:46 schreef Sebas het volgende:
Lijkt mij gewoon een probleem van niet nadenken over datatypes en database layout.

Lees meer op: http://www.mysql.com/doc/C/H/CHAR.html
Ik ben er voor het gemak even vanuit gegaan dat ie het over MSSQL had :) En die kan wel tot 4000 tekens aan.

Exact expert nodig?


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
was dat maar zo, dan was ik nu klaar geweest...maar a, ik gebruik gewoon SQl en die kan dat niet aan :'(

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 10:59

BierPul

2 koffie graag

:D
Op maandag 17 september 2001 14:24 schreef Jaspertje het volgende:
was dat maar zo, dan was ik nu klaar geweest...maar a, ik gebruik gewoon SQl en die kan dat niet aan :'(
Volgens mij bedoeld ie je database server in jouw geval InterBase dus :9

Ja man


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

gewoon SQl
:+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Topicstarter
ja, en ik wilde af en toe wel dat dat niet zo was

  • sebas
  • Registratie: April 2000
  • Laatst online: 16-12-2025
Maar zijn die variable types dan niet standaard?

Ik weet dat het voor mySQL zo is, in de manual van Postgres kan ik het ff niet zo snel vinden ...

Everyone complains of his memory, no one of his judgement.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op dinsdag 18 september 2001 01:42 schreef Sebas het volgende:
Maar zijn die variable types dan niet standaard?
nee, variabele typen verschillen tussen databases onderling en ook tussen versies van dezelfde database.

het moet niet te makkelijk worden natuurlijk :+

Today's subliminal thought is:

Pagina: 1