<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 10 mag 2022 alle ore 12:58 Benoît Minisini <<a href="mailto:g4mba5@gmail.com">g4mba5@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Le 09/05/2022 à 17:55, Safiur Rahman a écrit :<br>
> Hi<br>
> <br>
> I get result when I execute the following query:<br>
> <br>
> Dim res As Result<br>
>    res = conn.Exec("select fldtitle from tbltest where flddepartment <br>
> in('Austria','Azerbaijan')")<br>
> <br>
> But I don't get result when I execute the following query:<br>
> res = conn.Exec("select fldtitle from tbltest where flddepartment in <br>
> &1", ["Austria", "Azerbaijan"])<br>
> <br>
> How can I write this query properly in gambas passing an array argument?<br>
> <br>
> (Attached a project to demonstrate)<br>
> <br>
> -- <br>
> Regards<br>
> Safiur Rahman<br>
> <br>
<br>
Substitution ("&1", "&2"...) can handle simple datatypes only. It's <br>
there for quoting, to avoid SQL injections in your code.<br>
<br>
You have to build the request argument by using the Connection.Subst() <br>
method.<br>
<br>
aArg = ["Austria", "Azerbaijan"]<br>
<br>
For I = 0 to aArg.Max<br>
   aArg[I] = conn.Subst(aArg[I])<br>
Next<br>
<br>
res = conn.Exec("select fldtitle from tbltest where flddepartment in (" <br>
& aArg.Join(",") & ")<br>
<br>
Maybe I will made the Subst() method more clever, so that it does the <br>
previous job when handling arrays.<br>
<br>
Regards,<br>
<br>
-- <br>
Benoît Minisini<br>
<br>
----[ <a href="http://gambaswiki.org/wiki/doc/netiquette" rel="noreferrer" target="_blank">http://gambaswiki.org/wiki/doc/netiquette</a> ]----<br></blockquote><div><br></div><div>Yes so it seems to work fine :-)<br><br>Public Sub Button2_Click()<br><br>  Dim res As Result<br><br>  res = conn.Exec("select fldtitle from tbltest where flddepartment in (" & "'" & xCountry.Join("','") & "'" & ");")<br><br>  If res.Available Then<br>    ListBox1.List = res.All("fldtitle")<br>  Endif<br><br>End<br><br>Regards<br>Gianluigi <br></div></div></div>