Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
AllowZeroLength
giovedì 30 novembre 2006 - 17.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
freecex
Profilo
| Newbie
5
messaggi | Data Invio:
gio 30 nov 2006 - 17:06
Salve a tutti....
.....sto letteralmente impazzendo.....
Spiego la problematica.
Ho creato una dll che contiene la definizione di tutte le tabelle del mio db access e l'elenco di tutti gli aggiornamenti dei campi.
Tale dll viene lanciata al login e aggiorna automaticamente qualsiasi db di ogni mio cliente al fine di incorrere in spiacevoli siutuazioni (es. mi dimentico qualche campo....o qualche tabella dai clienti che non vado a trovare piu' spesso).
Il problema nasce coi campi varchar: devo trovare un modo per settare la classica proprieta' "Consenti lunghezza a 0" = si altrimenti Access in automatico la mette a no con tutti i problemi che conseguono.
Girando per i vari forum ho realizzato la seguente soluzione:
Imports Interop
Imports Interop.ADOX
Imports Interop.ADODB
Try
Dim Cn As Connection = New Connection
Dim Cat As Catalog = New Catalog
Dim objTable As Table = New Table
Dim Col As Column = New Column
Dim StringaAZL As String
Dim Proprieta As Interop.Property
StringaAZL = "Jet OLEDB:Allow Zero Length"
Cn.Open(Connessione.ConnessioneLocale.ConnectionString)
Cat.ActiveConnection = Cn
For Each objTable In Cat.Tables
If Not objTable.Name Like "MS*" And Not objTable.Name Like "__*" Then
For Each Col In objTable.Columns
If Not Col.Name Like "__*" Then
If Col.Type = ADOX.DataTypeEnum.adVarWChar Then
If Cat.Tables(objTable).Columns(Col).Properties(StringaAZL).Value = False Then
Cat.Tables(objTable).Columns(Col).Properties(StringaAZL).Value = True
End If
End If
End If
Next Col
End If
Next objTable
Col = Nothing
objTable = Nothing
Cat = Nothing
Cn.Close()
Cn = Nothing
Catch Ex As System.Exception
End Try
Funziona "tutto"....mi connetto al DB, vedo l'inseieme delle tabelle (ho escluso con il primo if le tabelle di sistema di Access) e per ognuna l'insime delle colonne e delle colonne Varchar che sono quelle che teoricamente hanno la proprieta AllowZeroLenght......
Il problema e' che in debug non vedo assolutamente l'insieme delle Properties delle colonne e di conseguenza l'ultimo if genera sempre errore......
Qualcuno saprebbe aiutarmi????
la cosa sarebbe importante......e mi sta snervando......
Spero di essere stato chiaro...
Grazie mille a tutti....
Torna su
Stanze Forum
Elenco Threads
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 !