|
| |

ADO.NET / Datenbanken| Re: Visual Basic Data-Binding-Wizards Problem | |  | | Autor: derbeutel | | Datum: 11.07.11 21:43 |
| Ok, hier ist des Rätsels Lösung:
Habe meine Variante 3 nochmal durchgespielt, den gleichen FillBy-SQLstring verwendet:
SELECT id, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE @nachname)
und im Form von: Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, TextBox1.Text)
zu: Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, "%" & TextBox1.Text & "%") geändert. Und das wars auch schon
Lustigerweise braucht die Variante 6 (siehe oben) diese Änderung nicht. Dort reicht der FillBy-SQLstring:
SELECT id, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE @nachname + N'%') bzw. (nachname LIKE '%'N + @nachname + N'%')
und man muss keine Änderung mehr im Form vornehmen. So doof und simple kann man/es sein ;)
Um was gehts hier eigentlich?
Mit den Databinding-Wizards und dem Query-Builder von VisualStudio mit VB/Windows-Forms sozusagen
vollautomatisch (also fast ohne Eingabe von Code) mit Hilfe von Details und Grid einen simplen Kontaktverwaltung zusammenklicken.
Anzeige, Volltextsuchen, Eintrag, Änderung und Löschung von Einträgen.
Hierzu werden die automatisch generierten Buttons im ToolStrip benutzt + eine Textbox für die Volltextsuche mit
onchange-Event -also direkte Anzeige von Results nach jeder Eingabe eines neues Zeichens.
Datenanbindung über entweder Access-Datenbank-File, SQLServer-Datenbank oder File, SQLServer-Compact-File (*.sdf) oder
MYSQL-Datenbank (über connector/NET).
Hier werden nur noch die Strings angezeigt mit denen der QueryBuilder gefüttert wird und evtl. kleine Änderungen an der Form
was davon abhängig ist welche Datenanbingsvariante man wählt. Ich fasse das hier mal zusammen um einen schönen und auch
sinnvollen Abschluss zu finden in diesem Thread. Danke nochmal für Eure Unterstützung.
--------------------------------------------------------------------------------------------------------
Variante 1 - Access-Datenbank-File
VS-QueryBuilder String:
SELECT ID, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE ?)
In der Form selber:
Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, "%" & Me.TextBox1.Text & "%")
--------------------------------------------------------------------------------------------------------
Variante 2, 2a und 5 - SQLServer-Datenbank oder File
VS-QueryBuilder String:
Gestaltet sich schwieriger. Ein Versuch mit LIKE ? wird zu LIKE @param1 und erscheint als logisch.
Der QB liefert hier aber beim suchen nach dem ausgeschriebenen Begriff keine Results.
Genauso wenig wie LIKE @nachname oder sonstige Kombinationen. LIKE '%' + @Param1 + '%' oder auch
in unserem Fall LIKE '%' + @nachname + '%' funktioniert im QB tadellos nur nicht im Form.
Da hilft auch kein ...FillBy(Me.Test_dbDataSet.kontakt, "%" & Me.TextBox1.Text & "%")
oder ...FillBy(Me.Test_dbDataSet.kontakt, Me.TextBox1.Text). Allerdings liefert der Versuch:
WHERE (nachname LIKE @Param1) und im Form: ...FillBy(Me.Test_dbDataSet.kontakt, "%" & Me.TextBox1.Text & "%")
zumindest schon nach dem Eintrag ab 4 Zeichen ein passendes Ergebnis. Hmmm wieso 4 Zeichen?
Also das werd ich noch rausfinden. Surfe schon die ganze Zeit auf MSDN rum und versuch da ne Antwort zu finden.
Ich Ergänze das hier wenn ich was weiss. Habe gerade keine Lust mehr ;)
--------------------------------------------------------------------------------------------------------
Variante 3 und 4 - Zu einem MYSQL Server verbinden über Connector/NET 6.4.3 oder ODBC 5.1.8/ODBC 3.51.28
VS-QueryBuilder String:
SELECT id, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE @nachname)
In der Form selber:
Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, "%" & Me.TextBox1.Text & "%")
--------------------------------------------------------------------------------------------------------
Variante 6 - SQLServer-Compact-File (*.sdf)
VS-QueryBuilder String:
SELECT id, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE @nachname)
In der Form selber:
Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, "%" & Me.TextBox1.Text & "%")
oder sogar umgekehrt:
VS-QueryBuilder String:
SELECT id, vorname, nachname, telefon
FROM kontakt
WHERE (nachname LIKE '%' + @nachname + '%')
In der Form selber:
Me.KontaktTableAdapter.FillBy(Me.Test_dbDataSet.kontakt, Me.TextBox1.Text)
-------------------------------------------------------------------------------------------------------- |  |
 | 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 |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
Copyright ©2000-2025 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
|
|