ERLEDIGT
JA
JA
ANTWORTEN
14
14
ZUGRIFFE
5343
5343
EMPFEHLEN
-
20.04.05 13:34 #1
- Registriert seit
- Apr 2005
- Beiträge
- 22
Hallo Zusammen.
Ich bräuchte mal eure Hilfe! Ich versuche aus einen Formular in vb.net einen neuen Eintrag in meiner adressenmdb eintzutragen schaffe es aber überhaupt nicht. Auch durch durch´stöbern mehrer Bücher wird leider nur erklärt wie ich Daten anzeigen kann aber nicht ändern, neu einfügen oder Löschen. Könnt ihr mir einen Tipp geben wie ich diese Aktion über vb.net löse oder zumindest einen vernünftigen Buch-Tipp geben?
Mein Versuch zu Eintragung eines neuen Datensatzes sieht wie folgt aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Verbindung zu Datenbank Dim vorname As String Dim name As String name = TextBox1.Text vorname = TextBox2.Text Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =adressenmdb.mdb;" & "User ID = Admin;") ' Der Datenadapter Dim daadresse As New OleDb.OleDbDataAdapter("Insert into pers values('',name,vorname)", conn) conn.Close() end sub
Für eine Antwort wäre ich euch sehr sehr dankbar
Gruss Mike
-
Hi,
um daten zu ändern brauchst du ein Statement (zumindest ist das in Java so),
also stmt =con.createStatement();
und dann würde ich ein Methode verwenden:
Achtung Java
void aendern(String pSQL)
{
try
{
stmt.executeUpdate(pSQL);
}
catch(SQLException err)
{
System.err.println(err);
}
}
Sorry VB kann ich nicht.
versuchs mal
Gruß Patricia
-
20.04.05 15:58 #3
- Registriert seit
- Apr 2005
- Beiträge
- 22
Vielen Lieben Dank für deine Bemühungen!
Nur Java hilft mir nicht wirklich viel weiter, da ich esauch in PHP 100 % umsetzen kann. Es geht mir nur um vb.net!
Danke aber trotzdem
Gruss Mike
-
20.04.05 17:29 #4
Du solltest trotzdem um deine Adapteranweisung ein try catch Block anlegen und Dir die Fehlermeldung ausgeben lassen.
Allen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)
-
20.04.05 17:32 #5
Im Übrigen wird ein DataAdapter dazu verwendet, um eine Verbindung zwischen einem Datenset oder einer Datetable herzustellen.
Für das Einfügen eines Datensätzen solltest Du das OleDBCommand Objekt verwenden.
Siehe : OleDBCommand.ExecuteNonQueryAllen ist das Denken erlaubt, vielen bleibt es erspart. (Kurt Goetz)
-
21.04.05 13:30 #6
- Registriert seit
- Apr 2005
- Beiträge
- 22
Hilft mir leider nichjt wirklich weiter! Da ich immer noch keine genauen Angabe finde!
Könnt ihr mir nicht anhand meines og. Beispieles den Code herrichten?
Wäre super nett von euch!
Danke Mike
-
Tut mir leid, aber fix fertig wird dir das hier niemand liefern, dafür ist die Community auch nicht da.
Aber du kannst es in etwa so machen (Beispielcode, muss noch angepasst werden):
Code :1 2 3
Dim OleDbConnection conn as new OleDbConnection(connectionString) Dim OleDbCommand com As new OleDbCommand("insert into ....", conn) com.ExecuteNonQuery()
Genauere Informationen kannst du in der MSDN (http://msdn.microsoft.com) nachlesen (nach OleDbConnection und OleDbCommand suchen - dort gibts auch Beispiele).
-
21.04.05 13:45 #8
- Registriert seit
- Apr 2005
- Beiträge
- 22
Ok!
Aber wenn ich dieses so umsetze erhalte ich folgende Fehlermeldung
'System.Data.OleDb.OleDbException' ist in system.data.dll aufgetreten.
Gruss Mike
-
Hi,
das SQL Commando sollte anders aussehen.
Wie ist die Tabelle aufgebaut ?
Code :1 2 3 4 5
name = Replace(TextBox1.Text,"''","'") vorname = Replace(TextBox2.Text,"''","'") Dim OleDbCommand com As new OleDbCommand("Insert into pers values (' ',' " & name & " ',' " & vorname & " ' )", conn)
Wenn deine Tabelle nur zwei Spalten hat, also Name und Vorname dann sollte es so aussehen, denn das ' ' hat mich bissel verwirrt. Kann ja sein das es wirklich ne dritte Spalte gibt. Wenn diese ein VChar oder String Typ ist musst du diese entweder mit einem Blank ' ' füllen oder die gibst im SQL Command die Spalten mit an.
Außerdem müssen String/Textfelder immer zwischen Hochkommas stehen. Wenn
schon im name oder vorname eins auftaucht muss diese mit Replace wie oben verdoppelt werden.
Code :1 2 3 4 5
name = Replace(TextBox1.Text,"''","'") vorname = Replace(TextBox2.Text,"''","'") Dim OleDbCommand com As new OleDbCommand("Insert into pers (name,vorname) values ( ' " & name & " ',' " & vorname & " ' )", conn)
Jens
-
21.04.05 19:08 #10
- Registriert seit
- Apr 2005
- Beiträge
- 22
Hallo!
Die Tabelle hat 3 felder
adressid als autowert und primary key
adr_name
adr_vorname
Ich habe den ersten eintrag im '' geschrieben da er ja automatisch gefüllt wird!
Nun habe ich ein problem mit den Befehl
<code>
Dim OleDbcommand com As new OleDbCommand("Insert into pers (name,vorname) values ( ' " & name & " ',' " & vorname & " ' )", conn)
</code>
Er schreibt mir das eine End Of anweisung erwartet wird.
Danke Mike
-
21.04.05 19:12 #11
- Registriert seit
- Jan 2004
- Ort
- Paderborn
- Beiträge
- 1.210
Das ist ja auch ein falscher Syntax.
Sieht mir nach einer Mischung zwischen C# und VB.NET aus
Code :1
Dim com As new OleDbCommand("Insert into pers (name,vorname) values ( ' " & name & " ',' " & vorname & " ' )", conn)
-
21.04.05 20:23 #12
- Registriert seit
- Apr 2005
- Beiträge
- 22
OleDbcommand ist nicht definiert!
Kan es sein das anstatt der new OleDbCommand durch new OleDb.OleDbadapter ersetzt werden muss?
danke Mike
-
21.04.05 20:27 #13
- Registriert seit
- Apr 2005
- Beiträge
- 22
Also ich´musste das so machen
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
Dim vorname As String Dim name As String name = Replace(TextBox1.Text, "''", "'") vorname = Replace(TextBox2.Text, "''", "'") Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =adressenmdb.mdb;" & "User ID = Admin;") Dim com As New OleDb.OleDbDataAdapter("Insert into pers (adr_name,adr_vorname) values ( ' " & name & " ',' " & vorname & " ' )", conn)
Jetzt bekomme ich aus keine Fehlermeldung mehr nur er trägt aber auch nichts ein
Warum?
Danke Mike
-
21.04.05 20:52 #14
- Registriert seit
- Jan 2004
- Ort
- Paderborn
- Beiträge
- 1.210
Du musst natürlich zuerst die Connection öffnen.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Dim vorname As String Dim name As String name = Replace(TextBox1.Text, "''", "'") vorname = Replace(TextBox2.Text, "''", "'") Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =adressenmdb.mdb;" & "User ID = Admin;") Try conn.open Dim com As New OleDb.OleDbDataAdapter("Insert into pers (adr_name,adr_vorname) values ( ' " & name & " ',' " & vorname & " ' )", conn) Catch err As OleDb.OleDbException Messagebox.show(err.tostring) Finally conn.close End TryGeändert von Julian Maicher (21.04.05 um 20:56 Uhr)
-
21.04.05 20:55 #15
- Registriert seit
- Apr 2005
- Beiträge
- 22
Danke für eure Mühe an allen Beteiligten!
Ich habe mein Problem gelöst und kann jetzt endlich
Daten in einer Access DB über vb.net füllen
Grüsse Mike
Ähnliche Themen
-
Daten aus einer Form in die Access-Datenbank eintragen
Von Meitli im Forum ASPAntworten: 3Letzter Beitrag: 28.06.05, 15:03 -
Daten aus einer Form in die Access-Datenbank eintragen
Von Meitli im Forum ASPAntworten: 4Letzter Beitrag: 23.06.05, 08:35 -
Daten über TCP/IP in einer Datenbank ablegen
Von HIDA im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 04.01.05, 22:24 -
Daten über Formular in SQL Datenbank eintragen
Von Leyrana im Forum PHPAntworten: 3Letzter Beitrag: 11.08.04, 10:04





Zitieren
Login





