vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Re: Leerzeichen in Primärschlüssel-Spalte 
Autor: XPI
Datum: 20.10.15 14:49

Ich habe es nun mal selbst gelöst...
Option Strict On
Option Explicit On
Option Infer Off
Option Compare Text
 
Public Class Form1
    Dim DT As New System.Data.DataTable
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        DT.CaseSensitive = True
        DT.Columns.Add("Text1", GetType(System.String))
        DT.Columns.Add("Text2", GetType(System.String))
        DT.Columns.Add("PKText", GetType(System.String))
        DT.Columns.Add("PKSpacesLeft", GetType(System.Int32))
        DT.Columns.Add("PKSpacesRight", GetType(System.Int32))
        DT.Constraints.Add("PK", {DT.Columns(2), DT.Columns(3), DT.Columns(4)}, _
          True)
 
        Dim DGV As New DataGridView
        DGV.Dock = DockStyle.Fill
        DGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
        Me.Controls.Add(DGV)
        DGV.DataSource = DT
        DGV.Columns(2).Visible = False
        DGV.Columns(3).Visible = False
        DGV.Columns(4).Visible = False
 
        AddRow(DT, "Text1", "Text2") ' OK
        AddRow(DT, " Text1", " Text2") ' OK
        AddRow(DT, "Text1 ", "Text2 ") ' OK
        AddRow(DT, "Text1 ", "Text2 ") ' ErrMsg - duplicates!
    End Sub
    Private Sub AddRow(Table As DataTable, Text1 As String, Text2 As String)
        If Not Text1 = String.Empty Then
            Dim TT As String = Trim(Text1) ' trimmed text
            Dim SL As Integer = Text1.IndexOf(TT) ' spaces left
            Dim SR As Integer = Text1.Length - SL - TT.Length ' spaces right
            Try
                DT.Rows.Add(Text1, Text2, TT, SL, SR)
            Catch ex As System.Data.ConstraintException
                If DirectCast(ex.TargetSite, System.Reflection.MethodInfo).Name _
                  = "CheckConstraint" Then
                    MsgBox(ex.Message, MsgBoxStyle.Exclamation)
                End If
            End Try
        Else
            MsgBox("Text1 is empty!", MsgBoxStyle.Critical) ' Write log, dont 
            ' show Msg
        End If
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Leerzeichen in Primärschlüssel-Spalte2.633XPI18.10.15 03:29
Re: Leerzeichen in Primärschlüssel-Spalte1.481Manfred X18.10.15 06:05
Re: Leerzeichen in Primärschlüssel-Spalte1.483XPI20.10.15 14:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel