<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rainbowbreeze &#187; sql</title>
	<atom:link href="http://www.rainbowbreeze.it/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rainbowbreeze.it</link>
	<description>Alfredo Morresi personal website</description>
	<lastBuildDate>Sat, 28 Jan 2012 10:56:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Informazioni sulle tabelle t-sql con sp_help</title>
		<link>http://www.rainbowbreeze.it/informazioni-sulle-tabelle-t-sql-con-sp_help/</link>
		<comments>http://www.rainbowbreeze.it/informazioni-sulle-tabelle-t-sql-con-sp_help/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 09:04:51 +0000</pubDate>
		<dc:creator>Alfredo</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.rainbowbreeze.it/informazioni-sulle-tabelle-con-sp_help/</guid>
		<description><![CDATA[Vi trovate a dover gestire un ERROR 3726 durante la cancellazione di una foreign key e non sapete dove mettere le mani? Un comando molto utile per sapere tutto, ma proprio tutto, della struttura di una tabella e’ sp_help, seguito dal nome della tabella di controllare. Data di creazione della tabella, descrizione dettagliata di ogni colonna, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rainbowbreeze.it/wordpress/wp-content/uploads/2009/10/sp_help.png"><img class="alignleft" style="border: 0pt none; margin: 2px 4px;" title="sp_help_tn" src="http://www.rainbowbreeze.it/wordpress/wp-content/uploads/2009/10/sp_help_tn_thumb.png" border="0" alt="sp_help_tn" width="240" height="170" align="left" /></a>Vi trovate a dover gestire un ERROR 3726 durante la cancellazione di una foreign key <span style="font-family: Verdana,Arial,Helvetica; color: midnightblue; font-size: x-small;"><span id="msg"><strong></strong></span></span>e non sapete dove mettere le mani?</p>
<p>Un comando molto utile per sapere tutto, ma proprio tutto, della struttura di una tabella e’ <a title="sp_help reference" href="http://msdn.microsoft.com/en-us/library/aa933429%28SQL.80%29.aspx" target="_blank">sp_help</a>, seguito dal nome della tabella di controllare.</p>
<p>Data di creazione della tabella, descrizione dettagliata di ogni colonna, indici e, soprattutto, la lista di tutte le <strong>foreign key</strong> assegnate, per controllare a colpo d’occhio le altre tabelle coinvolte e rendersi conto di come mai non riesco a cancellare un record e quali chiavi sono responsabili del vincolo di integrita’ bloccante…</p>
<p>Le informazioni visualizzate sono gia’ tutte disponibili in altre schermate sparse in giro per la management console, semplicemente questo comando le riunisce tutte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rainbowbreeze.it/informazioni-sulle-tabelle-t-sql-con-sp_help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chiamare una scalar-valued function da Visual Basic 6 con Ado 2.x</title>
		<link>http://www.rainbowbreeze.it/chiamare-una-scalar-valued-function-con-ado-2-6/</link>
		<comments>http://www.rainbowbreeze.it/chiamare-una-scalar-valued-function-con-ado-2-6/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:54:37 +0000</pubDate>
		<dc:creator>Alfredo</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ado]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[vb6]]></category>

		<guid isPermaLink="false">http://www.rainbowbreeze.it/?p=735</guid>
		<description><![CDATA[Mettiamo di avere nel nostro database una scalar-valued function cosi’ definita CREATE FUNCTION [dbo].[fnFaiCoseConMessaggio] ( -- Stringa da spezzare a meta’ @MsgDaProcessare varchar(255) ) RETURNS float AS BEGIN -- Declare the return variable here DECLARE @Result varchar(255) -- fa tutta una serie di cose con il messaggio iniziale -- …. SET @Result = @MsgDaProcessare -- [...]]]></description>
			<content:encoded><![CDATA[<p>Mettiamo di avere nel nostro database una scalar-valued function cosi’ definita</p>
<pre class="brush: sql">
CREATE FUNCTION [dbo].[fnFaiCoseConMessaggio]
(
-- Stringa da spezzare a meta’
@MsgDaProcessare varchar(255)
)
RETURNS float
AS
BEGIN
-- Declare the return variable here
DECLARE @Result varchar(255)

-- fa tutta una serie di cose con il messaggio iniziale
-- ….
SET @Result = @MsgDaProcessare
-- ….

-- ritorna il risultato dell’elaborazione
RETURN @Result
END
</pre>
<p>Di seguito il codice per poter chiamare la scaled function da Visual Basic 6, utilizzando ADO</p>
<p><span id="more-735"></span></p>
<pre class="brush: vb">
Dim varValore As Variant
Dim strNomeComando as String
Dim objCommand As ADODB.Command
Dim objRs As ADODB.Recordset

Set objCommand = New ADODB.Command
objCommand.ActiveConnection = 'mettere qui la connessione da usaer
objCommand.CommandTimeout = 'mettere qui il timeout del comando, facoltativo
objCommand.CommandType = adCmdText

'sintassi SQL da utilizzare
strNomeComando = "SELECT dbo.fnFaiCoseConMessaggio(?) As AlsRitorno"

objCommand.CommandText = vstrComando
objCommand.Parameters.Append objCommand.CreateParameter("MsgDaProcessare", adVarChar, adParamInput, 255, “Il mio messaggio da gestire”)

'lancia la funzione scalare
Set objRs = objCommand.Execute

'recupera i valori dal recordset
Do While Not objRs.EOF
varValore = Trim(objRs.Fields(“AlsRitorno”).Value)
objRs.MoveNext
Loop

'chiude il recordset della lettura
objRs.Close
Set objRs = Nothing
Set objCommand = Nothing

'in varValore ho adesso il valore di ritorno
</pre>
<p>Tutto abbastanza semplice. L’unica accortezza e’ <strong>utilizzare un parametro</strong>, invece di inserire direttamente il valore della stringa, visto che in presenza di caratteri strani tipo apostrofo o altri, la stringa SQL darebbe errore. Cosi’ facendo, invece, viene tutto gestito nel migliore dei modi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rainbowbreeze.it/chiamare-una-scalar-valued-function-con-ado-2-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

