1 messaggio dal 29 agosto 2010
salve a tutti, è da tanto che non scrivo piu codice e non mi ricordo molto,cmq ultimamente ho ripreso dell collaborazioni,devo creare un database dinamicamente,quindi per provare ho scritto:

"IF EXISTS (" & _
"SELECT * " & _
"FROM master..sysdatabases WHERE Name = '" + [txt_nameDB].Text + "')DROP DATABASE = '" + [txt_nameDB].Text + "' CREATE DATABASE = '" + [txt_nameDB].Text

gira e rigira apici non riesco a concatenerla non so piu dove mettere gli apici...va bhe! gia mi sembra di sentire la battuta...:-), ho raccolto l'eccezione e mi da:
System.Data.SqlClient.SqlException è stata individuata
Class=15
ErrorCode=-2146232060
LineNumber=1
Message=Sintassi non corretta in prossimità di '='.
Virgoletta di chiusura mancante dopo la stringa di caratteri 'pippo'.
Number=102
Procedure=""
Server=.\SQLEXPRESS
Source=.Net SqlClient Data Provider
State=1
StackTrace:
in System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
in System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
in System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
in System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
in System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
in System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
in System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
in CreateDb.Form1.CreateDatabase() in C:\Documents and Settings\L&S\Documenti\Visual Studio 2010\Code Snippets\Visual Basic\My Code Snippets\Snip_CreateDB\Form1.vb:riga 87
InnerException:
posto tutto x completezza,mi date una mano per piacere? grazie
Usa String.Format e il problema è risolto
String.Format("IF EXISTS (SELECT * FROM master..sysdatabases WHERE Name = '{0}') DROP DATABASE '{0}' CREATE DATABASE '{0}'", [txt_nameDB].Text)
Non mi pare ci vada l'uguale dopo drop e create. Occhio inoltre ai problemi di sql injection. Meglio se usi le query parametriche
http://www.aspitalia.com/script/522/Utilizzare-Classe-SqlParameter-Prevenire-Attacchi-Tipo-SQLinjection.aspx

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.