home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 18,728 of 19,505   
   Bob Barrows to Erland Sommarskog   
   Re: Escape Characters in Strings   
   23 Aug 12 18:22:06   
   
   From: reb01501@NOSPAMyahoo.com   
      
   Erland Sommarskog wrote:   
   > Bob Barrows (reb01501@NOSPAMyahoo.com) writes:   
   >> Very bizarre. Why not use ADO's innate ability to pass parameter   
   >> values? I see from you're next message that you are using vbscript.   
   >> So, assuming the procedure above returns no records, and that your   
   >> opened connection variable is called "cn", the vbscript to execute   
   >> the above procedure would be:   
   >>   
   >> cn.ExampleProc "abc",1,2,3   
   >>   
   >> Explanation: ADO (2.5 and higher) allows stored procedures to be   
   >> treated as if they are methods of the connection object, allowing   
   >> the parameter values to passed as if you were plassing arguments to   
   >> a builtin method. No need to worry about escaping delimiters, etc.   
   >   
   > Egads! I didn't know of that one. Unfortunately, I don't have an VB   
   > environment here at home, so I cannot try it.   
   >   
   > But how does it work under the covers? I would guess that it runs   
   > .Refresh under the covers, but I found in the MDAC Books Online that   
   > it says: "ADO will make a 'best guess' of parameter types.".   
      
   I don't believe it runs Refresh, I've never seen any evidence of it when   
   using Profiler.   
   Under the covers, a command object is created (similarly as to when the   
   connection's Execute method is called) and parameter objects are appended,   
   typed based on that "best guess", which uses the types (or subtypes given   
   vbscript's restriction to Variant datatypes) of the passed values in making   
   that guess. Yes, theoretically, the best guess could be wrong, but in my   
   experience it never has been - at worst, an implicit conversion might be   
   required. Of course, my environment has always been very simple. And as long   
   as you properly type your VB objects, the chance of a bad guess that   
   requires more than a conversion from varchar to nvarchar, or float to   
   integer is slim.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca