Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) StringBuilder GetBeforeDemonstrates the StringBuilder.GetBefore method. The GetBefore method was added in Chilkat v9.5.0.77
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @sb int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sb OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @sb, 'Append', @success OUT, 'www.chilkatsoft.com' -- The GetBefore method returns the contents of the string up to but not including -- the marker string. If the remove flag is 1, then both the returned string AND -- the marker are removed. DECLARE @removeFlag int SELECT @removeFlag = 0 DECLARE @marker nvarchar(4000) SELECT @marker = '.' DECLARE @substr nvarchar(4000) EXEC sp_OAMethod @sb, 'GetBefore', @substr OUT, @marker, @removeFlag PRINT 'substr = ' + @substr EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT 'sb contains: ' + @sTmp0 -- Output: -- substr = www -- sb contains: www.chilkatsoft.com SELECT @removeFlag = 1 EXEC sp_OAMethod @sb, 'GetBefore', @substr OUT, @marker, @removeFlag PRINT 'substr = ' + @substr EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT 'sb contains: ' + @sTmp0 -- Output: -- substr = www -- sb contains: chilkatsoft.com -- If the marker is not found, and the removeFlag is 1, -- then the entire string is returned and the sb is cleared. -- For example: EXEC sp_OAMethod @sb, 'Clear', NULL EXEC sp_OAMethod @sb, 'Append', @success OUT, '111--222--333--444' SELECT @marker = '--' SELECT @removeFlag = 1 EXEC sp_OAGetProperty @sb, 'Length', @iTmp0 OUT WHILE (@iTmp0 > 0) BEGIN EXEC sp_OAMethod @sb, 'GetBefore', @substr OUT, @marker, @removeFlag EXEC sp_OAMethod @sb, 'GetAsString', @sTmp0 OUT PRINT 'substr = ' + @substr + ', sb contains: ' + @sTmp0 END -- Output is: -- substr = 111, sb contains: 222--333--444 -- substr = 222, sb contains: 333--444 -- substr = 333, sb contains: 444 -- substr = 444, sb contains: EXEC @hr = sp_OADestroy @sb END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.