<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern]]></title><description><![CDATA[<p>Hallo,<br />
ich verwende die IBQuery und will damit Datensätze auslesen.<br />
Nun habe ich ein Problem, dass ich mit ParamByName nur max 20 Zeichen aufnehmen kann. Das reicht leider nicht aus um eindeutig Datensätze zu bestimmen.<br />
Wie kann ich die max. Zeichenlänge ändern oder umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182327/ibquery1-gt-parambyname-max-stringlänge-umgehen-ändern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 21:06:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182327.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 May 2007 18:16:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern on Wed, 23 May 2007 18:16:18 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich verwende die IBQuery und will damit Datensätze auslesen.<br />
Nun habe ich ein Problem, dass ich mit ParamByName nur max 20 Zeichen aufnehmen kann. Das reicht leider nicht aus um eindeutig Datensätze zu bestimmen.<br />
Wie kann ich die max. Zeichenlänge ändern oder umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1290995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1290995</guid><dc:creator><![CDATA[Tobias S.]]></dc:creator><pubDate>Wed, 23 May 2007 18:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern on Thu, 24 May 2007 07:31:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du könntest statt ParamByName ja auch Params-&gt;Items[] verwenden, wenn du die Nummer des Parameters kennst. Die könnte man ja darüber auch rausbekommen.<br />
Bist du sicher, dass nur 20 Zeichen erlaubt sind oder hast du vielleicht ein Leerzeichen mit drin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291207</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 24 May 2007 07:31:47 GMT</pubDate></item><item><title><![CDATA[Reply to IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern on Thu, 24 May 2007 15:36:32 GMT]]></title><description><![CDATA[<p>Nein, ich habe keine Leerzeichen drinnen nur %-Zeichen als Platzhalter.<br />
Ich habe das mit</p>
<pre><code class="language-cpp">IBQuery1-&gt;Params[0]-&gt;AnsiString = user_number_mod
</code></pre>
<p>versucht. Aber leider bekomme ich folgende Fehlermeldung:<br />
Pointer to structure required on left side of -&gt; or -&gt;*</p>
<p>In der Hilfe habe ich folgendes gefunden:</p>
<pre><code class="language-cpp">IBQuery2.SQL.Clear;
IBQuery2.SQL.Add('INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)');
IBQuery2.SQL.Add('VALUES (:Name, :Capital, :Population)');
IBQuery2.Params[0].AsString := 'Liechtenstein';
IBQuery2.Params[1].AsString := 'Vaduz';
IBQuery2.Params[2].AsInteger := 420000;
IBQuery2.ExecSQL;
</code></pre>
<p>Das sieht nach Delphi aus. Ich habe das AsString als AnsiString interpretiert.<br />
Aber weder mit -&gt;AsString noch mit -&gt;AnsiString funktioniert es.</p>
<p>Hier ein kleiner Quellcode Ausschnitt:</p>
<pre><code class="language-cpp">IBQuery1-&gt;SQL-&gt;Clear();
IBQuery1-&gt;SQL-&gt;Add(&quot;select BEZEICHNUNG1 from USER WHERE USERNUMBER LIKE :user_number&quot;);
IBQuery1-&gt;Params[0]-&gt;AsString = user_number_mod;
IBQuery1-&gt;Open();
</code></pre>
<p>Bin ein wenig ratlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291505</guid><dc:creator><![CDATA[Tobias S.]]></dc:creator><pubDate>Thu, 24 May 2007 15:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern on Thu, 24 May 2007 16:03:39 GMT]]></title><description><![CDATA[<p>Ok, hatte ein dummen Fehler:</p>
<pre><code class="language-cpp">IBQuery1-&gt;Params[0]-&gt;AsString = user_number_mod;
</code></pre>
<p>So ist es richtig:</p>
<pre><code class="language-cpp">IBQuery1-&gt;Params-&gt;Items[0]-&gt;AsString = user_number_mod;
</code></pre>
<p>Aber trotzdem kann ich nur 20 Zeichen darin speichern, wie bei</p>
<pre><code class="language-cpp">IBQuery1-&gt;ParamByName
</code></pre>
<p>Mein Programm bricht immer ab und gibt mir folgende Fehlermeldung raus:</p>
<pre><code>Project Project1.exe raised exception class EIBClientError with message 
'Trying to store a sring of length 33 into a field that can only contain 20'.
Process stopped. Use Step or Run to continue.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1291522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291522</guid><dc:creator><![CDATA[Tobias S.]]></dc:creator><pubDate>Thu, 24 May 2007 16:03:39 GMT</pubDate></item><item><title><![CDATA[Reply to IBQuery1-&amp;gt;ParamByName  -  max. Stringlänge umgehen&#x2F;ändern on Thu, 24 May 2007 16:31:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Die Fehlermeldung ist doch eindeutig. Du hast ein Feld das maximal 20 Zeichen aufnehmen kann aber willst einen längeren Wert drin speichern. Das ist kein Problem vom Builder oder TIBQuery, sondern von deiner Datenbankdefinition. Du must also mit deinem Datenbank-Dienstprogramm den Feldtyp ändern bzw. vergrößern.</p>
<p>/Edit : Wenn die Fehlermeldung sich auf die INSERT-Anweisung bezieht.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291548</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 24 May 2007 16:31:06 GMT</pubDate></item></channel></rss>