According to the results I am getting at this moment, that seems to be legal. I cannot explain the anomoly that occured before, but I will chalk it up to operator error as I didn't do it in a file as I should have, but from the R>, so I lose the auditing of my own actions (which these days, I usually do audit them)...

----- Original Message ----- From: "MDRD" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Thursday, June 25, 2009 6:54 PM
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar


Mike

This makes me nervous.

I changed my EEP code to the below and it seems to work
I started with 4194 in the Varchar field by doing
Edit all and putting the cursor on the field

Then Edit Using myForm, clicking the Button to add text and now
I have 6748 in the column

Set var vxSubj varchar = null
Select subj into vxSubj from ptsoap WHERE ptspid = .vptspid

SET VAR vadjdesc varchar = NULL
SELECT spdesc INTO vadjdesc FROM soapcode +
WHERE spcode  = .vscode AND COUNT = .vsprad ORDER BY spver

SET VAR vadjdesc2 varchar = NULL
SET VAR vadjdesc2 =  (SRPL((SRPL((SRPL(.vadjdesc, +
'[fname]',.vfname,0)), '[heshe]',.heshe,0)),'[himher]', .himher,0))

set var vsubjAll varchar = (.vxsubj + Vadjdesc2 + ' ')
UPDATE ptsoap SET subj = .vsubjALL  WHERE ptspid = .vptspid

So should I trust this or not?
Thanks everyone for helping
Marc

--------------------------------------------------
From: "MikeB" <[email protected]>
Sent: Thursday, June 25, 2009 5:41 PM
To: "RBASE-L Mailing List" <[email protected]>
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar

I get the same result now.. When I tested this before my last post, I did all the requisite checks like:

set var vc1 varchar = 'Mike'
set var vc2 varchar = 'Byerley'
set var vc3 varchar = ('Mike' + .vc2) -- this resulted in the expected "Cannot add Text to Varchar" set var vc3 varchar = (.vc1 + .vc2) -- this resulted in the expected "Cannot add VarChar to Varchar"

This does appear to be legal, but on the issue of concantenation in the UPDATE expression, I am sure you are hosed.


----- Original Message ----- From: "MDRD" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Thursday, June 25, 2009 5:22 PM
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar


Now this seems to work.... maybe I am afraid to say but I see light at the end
of the tunnel

Set var vSubj varchar
Select subj into vSubj from ptsoap WHERE custnum = 4545
Set var vSubj = (.vSubj + 'iiiiiiiiiiiiiiiiiiiid xxxxxxxxxxxxxxxxxxxxxxxxxx ' +.vsubj)
UPDATE ptsoap SET subj = .vSubj  WHERE custnum = 4545
edit all from ptsoap WHERE custnum = 4545

Putting the cursor on the Varchar field seems to show it growing to 30000

Now will using this in a form mess something up??

Marc


--------------------------------------------------
From: "MDRD" <[email protected]>
Sent: Thursday, June 25, 2009 4:10 PM
To: "RBASE-L Mailing List" <[email protected]>
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar

Hi Mike

This is the main selling point in my app and why I needed to update to 7.6 I have been bragging on my new note features, huge notes, no more 4k limit .... on and on.

I thought 7.6 allowed full string manipulation on Varchar fields? Man am I having a hard time
grasping this and looks like I am in over my head big time.

If I save to a file would I loose all the formatting stuff like Bold? Seems like this may be slow
on workstations too?

If I can not find a good way around this my app is dead and the guy
with the MS SQL Exp and .Net will win this little battle we have.

Using the Editor is not an option, I need a DB Memo or Rich Edit on the form the user presses a button and a paragraph of text is added to the bottom of the "notes" anything less will not keep up with the Jones so to speak. Also, the lookup text is only 4k currently and in a note field, some users want that to be bigger where
we look up 12k from a table then drop it into this form.

This is something I am suppose to have done in July and of course I was counting my
chickens too soon.

Some days I regret I do not drink
Marc






--------------------------------------------------
From: "MikeB" <[email protected]>
Sent: Thursday, June 25, 2009 3:14 PM
To: "RBASE-L Mailing List" <[email protected]>
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar

You can't add text, note, OR Varchar data to another Varchar, but since you include your manipulation in an expression "UPDATE ptsoap SET subj = (subj + 'iiiiiiiiiiiiiiiiiiiid ') WHERE custnum = 4545...", The engine has placeholders for upto Note datatype. So even though your column is type VarChar, in the Expression it is converted to Note, making it a Note concantenation, which is legal, but the placeholder is also of Note length, truncating the returned data. You are going to have to jump through some hoops to concantenate your VarChar data. The "Continue" parameter of the WRITE command doesn't work with VarChar data, so you can't

Output SomeFileName.txt
Write .vVC1 CONTINUE
Write .vVC2
out scr
set var vSUBJ = ['SomeFileName.txt']
UPDATE ptsoap SET subj = .vsubj  WHERE custnum = 4545

The only other way I can think of is to use a hidden variable listbox and first write your VarChar data to a file, then using the Load_From_Filename property of the listbox, load the varchar data. Then you can take the first line or last line as it pleases you, concantenate the data, then Save_To_Filename from the ListBox, then set your VarChar data to the diskFile, then perform your update.





----- Original Message ----- From: "MDRD" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Thursday, June 25, 2009 3:16 PM
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar


Man this is nuts

I did
Edit all from table where custnum = 4545...
Double click the Varchar field
I pasted several paragraphs until I had 200 lines and 18326 bytes
I put 11111111111 222222222222222 3333333333 between the paragraphs I cut and pasted
to make it easy to see what I was doing
Exit Save ...

Edit using Form, looked in form and all the data was there

UPDATE ptsoap SET subj = (subj + 'iiiiiiiiiiiiiiiiiiiid ') WHERE custnum = 4545...

edit all from ptsoap WHERE custnum = 4545
ALL data past 4k is now Lost and deleted


Then I went to RRBYW14
Contacts
added VC column Varchar repeated the same process cutting and pasting a bunch of text to get 18 k
Update ...........
got the same results
18k dropped to 4k after the Update command

So what is the secret to get a Varchar to hold more than 4k?

Marc





From: jan johansen
Sent: Thursday, June 25, 2009 12:54 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar


Marc,

This is starting to sound like a structure issue.
A while back I had a table that had 4 notes in it. I started having
trouble with it as people were getting verbose in their typing.
I had to split the table into 4 seperate tables with 1 note in each
table.

In 7.6 the row length is limited to 4096.

I don't know if that is what is going on for you or not.

Jan



-----Original Message----- From: "MDRD" <[email protected]>
 To: [email protected] (RBASE-L Mailing List)
 Date: Thu, 25 Jun 2009 12:39:07 -0500
 Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar



 I started with a new DB,
  ALTER TABLE ptsoap ALTER subj TO subj VARCHAR (30000)

UPDATE ptsoap SET subj = (subj + 'ddddddddddddd ') WHERE custnum = 4545 and ptspid = 4164
 Error value will be truncated

 I still only get about 4k in the Varchar field
Something is Strange and the Varchar is acting like a note field even from the R>

 Marc



 From: Alastair Burr
 Sent: Thursday, June 25, 2009 11:49 AM
 To: RBASE-L Mailing List
 Subject: [RBASE-L] - Re: Limit to Long Varchar or Var for Varchar


 either use Long Varchar:

 LONG VARCHAR
 Same as VARCHAR, with a length of 256 MB

 or

 VARCHAR
       · Holds alphanumeric data; you must set the maximum length

· If you set the maximum length to a value over 32,767 characters, the limit is ignored and defaults to 256 MB




 Regards,
 Alastair.

----- Original Message ----- From: MDRD
   To: RBASE-L Mailing List
   Sent: Thursday, June 25, 2009 5:29 PM
   Subject: [RBASE-L] - Limit to Long Varchar or Var for Varchar


   Hi

I have a form with a Varchar field for notes. I can only get about 4k in the varchar field I use this code in a EEP that adds paragraphs to the end of the Varchar field. It works great up to a point then quits working as if I hit a limit like 4k for a note field.

   No errors on Trace.

I knew at one time the Property command in 7.5 was limited to I think 1500 characters So I had to use this Update method but it looks like I hit another limit some where but I
   do not know what?

   This is the major request we have, larger notes

    SET VAR vadjdesc varchar = NULL
    SELECT spdesc INTO vadjdesc FROM soapcode +
    WHERE spcode  = .vscode AND COUNT = .vsprad ORDER BY spver

    SET VAR vadjdesc2 varchar = NULL
    SET VAR vadjdesc2 =  (SRPL((SRPL((SRPL(.vadjdesc, +
'[fname]',.vfname,0)), '[heshe]',.heshe,0)),'[himher]', .himher,0))

    UPDATE ptsoap SET subj = (subj + .vadjdesc2 + ' ') +
    WHERE ptspid = .vptspid
    PROPERTY table ptsoap 'refresh'

   Thanks
   Marc


----------------------------------------------------------------------------


   No virus found in this incoming message.
   Checked by AVG - www.avg.com
Version: 8.5.374 / Virus Database: 270.12.91/2201 - Release Date: 06/25/09 06:22:00












Reply via email to