none
Individuare lunghezza di un campo di una tabella di un DataBase in Visual Basic RRS feed

  • Domanda

  • Ho sviluppato una routine per creare una classe/modello dalle tabelle di un database SqlServer
    Tutto oK  tranne la lunghezza del campo che non individua
    La proprietà lenmax ritorna sempre -1
    Non ho trovato proprietà che ritornino la lunghezza del campo
    Esiste un modo ??


       Dim oRow As DataRow = oDT.Rows(0)
            Dim oCol As DataColumn
            RichTextBox1.Text = ""
            For Each oCol In oDT.Columns
                sNome = oCol.ColumnName
                sTipo = oCol.DataType.Name.ToString
                sLunghezza = oCol.MaxLength.ToString      '!!!!! ritorna sempre -1
                If Mid(sTipo, 1, 3) = "Int" Then
                    sTipo = "int"
                ElseIf Mid(sTipo, 1, 3) = "Dou" Then
                    sTipo = "double"
                End If
                XX = "[Display(Name = " + Chr(34) + Chr(34) + ")]"     ' 22 o 34
                RichTextBox1.Text += XX + vbCr
                XX = "[StringLength(00)]"
                RichTextBox1.Text += XX + vbCr
                XX = "public " + sTipo + " " + sNome + " { get; set; }"
                RichTextBox1.Text += XX + vbCr
            Next
    venerdì 24 aprile 2020 06:27

Risposte

  • Ciao,

    La proprietà MaxLenght è proprio quello che cerchi tu; restituisce -1 se la colonna non è di tipo testo o se non c'è una lunghezza definita. Quest'ultimo caso, anche se non l'ho mai provato quindi vado a naso, potrebbe verificarsi se definisci una colonna testo varchar(MAX) o nvarchar(MAX).

    venerdì 24 aprile 2020 08:30

Tutte le risposte