Ceare tabella

giovedì 14 aprile 2011 - 10.34
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio Express  |  SQL Server Express

Codadilupo Profilo | Newbie

Ciao a tutti,
sono nuovo della comunity e chiedo scusa in anticipo per la domanda (forse) banale.
Sono in VS2010 con VB.net, devo creare una tabella (SQL Server 2008 EXpress) e controllare se all'interno di una seconda tabella esiste una determinata serie di campi e, se no, aggiungerli.
Ora la sintassi della query SQL sono sicuro essere corretta, perchè testata direttamente su SQL e funzionante.
Non riesco ad applicarla da codice di seguito posto ciò che faccio. Vorrei sapere dove sbaglio. Grazie in anticipo.

Dim VG_CN As ADODB.Connection
Dim VG_CNString = "Provider=SQLNCLI10;" _
& "Server=ABCDE\SQLEXPRESS;" _
& "Database=MyDB;" _
& "Integrated Security=SSPI;" _
& "DataTypeCompatibility=80;" _
& "MARS Connection=True;"
Dim VG_SQL As String
Dim VG_CT As ADOX.Catalog

VG_CN = New ADODB.Connection
VG_CN.Open(VG_CNString)
VG_CT = New ADOX.Catalog
VG_CT.ActiveConnection = VG_CN
VG_SQL = "CREATE TABLE dbo.TEST " & _
"( " & _
"ID int NOT NULL, " & _
"Cognome varchar(50)NOT NULL, " & _
"Nome varchar(50) " & _
"); "
VG_CT = Nothing
VG_CN.Close()
VG_CN = Nothing

kataklisma Profilo | Senior Member

>Ciao a tutti,

Ciao! Benvenuto su DotNetHell!

>sono nuovo della comunity e chiedo scusa in anticipo per la domanda
>(forse) banale.
>Sono in VS2010 con VB.net, devo creare una tabella (SQL Server
>2008 EXpress) e controllare se all'interno di una seconda tabella
>esiste una determinata serie di campi e, se no, aggiungerli.
>Ora la sintassi della query SQL sono sicuro essere corretta,
>perchè testata direttamente su SQL e funzionante.
>Non riesco ad applicarla da codice di seguito posto ciò che faccio.
>Vorrei sapere dove sbaglio. Grazie in anticipo.
>
> Dim VG_CN As ADODB.Connection
> Dim VG_CNString = "Provider=SQLNCLI10;" _
> & "Server=ABCDE\SQLEXPRESS;" _
> & "Database=MyDB;" _
> & "Integrated Security=SSPI;" _
> & "DataTypeCompatibility=80;" _
> & "MARS Connection=True;"
> Dim VG_SQL As String
> Dim VG_CT As ADOX.Catalog
>
> VG_CN = New ADODB.Connection
> VG_CN.Open(VG_CNString)
> VG_CT = New ADOX.Catalog
> VG_CT.ActiveConnection = VG_CN
> VG_SQL = "CREATE TABLE dbo.TEST " & _
> "( " & _
> "ID int NOT NULL, " & _
> "Cognome varchar(50)NOT NULL, " & _
> "Nome varchar(50) " & _
> "); "
> VG_CT = Nothing
> VG_CN.Close()
> VG_CN = Nothing
>

Beh la cosa è piu semplice di quanto tu creda....quel set di istruzioni (la Create Table per intenderci) non viene eseguita, ovvero, inserisci lo script in una variabile di tipo string ma poi non esegui il Command sulla connessione che hai aperto (VG_CN)!
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

Codadilupo Profilo | Newbie

Grazie infinite per la risposta.

Me ne sono reso conto chiedo scusa per il disturbo, ma quando lavori con la fretta..... questa risulta essere sempre cattiva consigliera...

Alla prossima. Grazie ancora!

kataklisma Profilo | Senior Member

>Grazie infinite per la risposta.
>
>Me ne sono reso conto chiedo scusa per il disturbo, ma quando
>lavori con la fretta..... questa risulta essere sempre cattiva
>consigliera...

Ma figurati :) nessun disturbo....

>Alla prossima. Grazie ancora!
Di nulla, ciao !
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5