SOLVED: Multiline statement

Post your Gambas programming questions here.
Post Reply
CMWhitley
Posts: 3
Joined: Monday 01st February 2021 10:05pm

SOLVED: Multiline statement

Post by CMWhitley » Thursday 09th September 2021 1:35pm

Love Gambas and it is working very well. I have some long SQL type statements, and my limited mind cannot figure out the best way to accomplish it without just multiple lines of SQLString = SQLString & xyz
SQLString = SQLString & abc
SQLString = SQLString & edf....

I tried the VB method of an Underscore following by the next line beginning with an & but that did not work. With all the ' ", ' " required to insert variables I am unsure as to how to elegantly split these up over multiple lines.

Thanks in advance for any help.
Last edited by CMWhitley on Thursday 09th September 2021 5:42pm, edited 1 time in total.

User avatar
BruceSteers
Posts: 652
Joined: Thursday 23rd July 2020 5:20pm

Re: Multiline statement

Post by BruceSteers » Thursday 09th September 2021 2:06pm

CMWhitley wrote:
Thursday 09th September 2021 1:35pm
Love Gambas and it is working very well. I have some long SQL type statements, and my limited mind cannot figure out the best way to accomplish it without just multiple lines of SQLString = SQLString & xyz
SQLString = SQLString & abc
SQLString = SQLString & edf....

I tried the VB method of an Underscore following by the next line beginning with an & but that did not work. With all the ' ", ' " required to insert variables I am unsure as to how to elegantly split these up over multiple lines.

Thanks in advance for any help.
There are these ways...
SQLString &= "More text"
SQLString &= "Even More text"
or these methods will work as multiline...
SQLString = "some text\n" &
                    "some more text\n" &
                   "yet some more"
you can even omit the &
Ie.
SQLString = "some text\n"
                    "some more text\n"
                   "yet some more"
Will work

Similar for commands/arrays using the comma ,
Ie..
MyCommand(arg1,
arg2,
arg3)

MyArray[Item1,
Item2,
Item3]

But note you will get problems with blank lines and positioning of ) ]

Ie.
Message.Question(
"My question"
)

that will fail.

Message.Question(
"My question")

will work

MyArray = [
Item1,
Item2
]
Will work

MyArray = [
Item1,

Item2
]
will fail


also when using multiline methods the IDE will loose the autocomplete ability when typing.
Last edited by BruceSteers on Thursday 09th September 2021 2:18pm, edited 1 time in total.
Wishing well
Bruce

If at first you don't succeed , try it differently.

User avatar
thatbruce
Posts: 17
Joined: Saturday 04th September 2021 11:29pm

Re: Multiline statement

Post by thatbruce » Thursday 09th September 2021 2:09pm

CMWhitley wrote:
Thursday 09th September 2021 1:35pm
Love Gambas and it is working very well. I have some long SQL type statements, and my limited mind cannot figure out the best way to accomplish it without just multiple lines of SQLString = SQLString & xyz
SQLString = SQLString & abc
SQLString = SQLString & edf...

I tried the VB method of an Underscore following by the next line beginning with an & but that did not work. With all the ' ", ' " required to insert variables I am unsure as to how to elegantly split these up over multiple lines.
OK unthink that idea immediately. Its like trying to replace chocolate syrup with a sardine in a milkshake.

I was sure that there is a page in the wiki about multi-line string constants but I can't see it. So,

In the IDE (or more specifically in the source code for a class) a string can be continued on the next line simply by making it like this:

Code: Select all

Dim sMary as "Mary had a little lamb, "
"So what, I hear you ask " 
"I had a little omelet"
Which is pretty easy, the string sMary is the theoretical "concatenation" of what looks like three strings. It's not, it's actually one string.

Now here is the bad news
You need to see the spaces!
If you try "SELECT *"
"FROM myStupidTable;"

You will get "SELECT *FROM myStupidTable"
which aint gunna work.

CMWhitley
Posts: 3
Joined: Monday 01st February 2021 10:05pm

Re: Multiline statement

Post by CMWhitley » Thursday 09th September 2021 5:42pm

Thank you gentleman! Those tips are exactly what I needed to make for a cleaner code.
Take care.

User avatar
thatbruce
Posts: 17
Joined: Saturday 04th September 2021 11:29pm

Re: SOLVED: Multiline statement

Post by thatbruce » Thursday 09th September 2021 7:44pm

I forgot to mention!

If you build your queries in an external tool, say something like dBeaver, you can copy your query and then in the IDE do a paste special (Shift + Ctl + V). In the popup there is an option down the bottom to paste "as multi-line string".

b

CMWhitley
Posts: 3
Joined: Monday 01st February 2021 10:05pm

Re: SOLVED: Multiline statement

Post by CMWhitley » Thursday 09th September 2021 9:34pm

thatbruce wrote:
Thursday 09th September 2021 7:44pm
I forgot to mention!

If you build your queries in an external tool, say something like dBeaver, you can copy your query and then in the IDE do a paste special (Shift + Ctl + V). In the popup there is an option down the bottom to paste "as multi-line string".

b
Now that's something worth remembering. Thank you!

Post Reply