2017-04-12 3 views
0

Ich habe einen Taschenrechner mit zwei Textfeldern, in die der Benutzer eine Zahl eingibt. Sie klicken dann auf eine Plus-, Minus-, Divisions- oder Multiplikationsschaltfläche, und diese Funktion wird für die Zahlen verwendet. Diese Nummern werden in einer Listbox mit dem Namen listbox1 gespeichert. Wenn der Benutzer klickt, um die Ergebnisse anzuzeigen, wird das List-Feld mit all ihren gespeicherten Werten aufgefüllt, und die Anwendung wird unterstützt, um die List-Box-Elemente in einer Access-Datenbank zu speichern. es funktioniert nicht. Unten ist mein Code, wo numFirst der Name einer Kategorie in der Datenbanktabelle ist:Listenfeldwerte hinzufügen, um auf Datenbankfenster zuzugreifen Formularanwendung

Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles 
    btnDisplay.Click 
    ListBox1.Items.Clear() 

    For arrayindex As Integer = 0 To intarrayCount - 1 

     ListBox1.Items.Add(Input(arrayindex)) 
     ListBox1.Text = Convert.ToString(ListBox1.Items.Item(arrayindex)) 

    Next arrayindex 

    Dim query As String = "SELECT * FROM wk6" 
    Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\helse_000\Desktop\APU\VB Advanced\week4\ENTD461_wk4_Andrew_Helsel\ENTD461_wk2_Andrew_Helsel\calculator.mdb" 
    Dim command As OleDbCommand = New OleDbCommand 
    Dim var1 As String = Convert.ToString(ListBox1.Items.Item(0)) 
    command.CommandText = "INSERT into wk6 (numFirst) VALUES (" + var1 + ")" 
+0

Was bedeutet "nicht funktioniert"? – nicomp

+0

Es fügt nichts zur Access-Datenbank hinzu – atahelsel

+1

Überprüfung http://stackoverflow.com/questions/21961951/inserting-ms-access-row-into-database-using-vb-net – June7

Antwort

0

figured it out, die select alle Query-String entfernt und machte meine Textbox Felder in die Parameter nach ihren Ergebnissen ein wenig modifiziert zu passen das Format, das ich für den Tisch brauchte.

For i As Integer = 0 To ListBox1.Items.Count - 1 
     Dim firstString As String = Convert.ToString(ListBox1.Items.Item(i)) 
     Dim leftPart As String = firstString.Split(Convert.ToChar  
(strButtonSelected))(0) 
     Dim rightPart As String = firstString.Split(Convert.ToChar("="))(1) 
     Dim a As Integer = firstString.IndexOf(strButtonSelected) 
     Dim b As Integer = firstString.IndexOf("=") 
     Dim secNum = firstString.Substring(a + 1, b - 4) 
     secNum = secNum.Trim 

Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; 
Data Source=C:\Users\helse_000\Desktop\APU\VB Advanced\week4\ENTD461_wk4_Andrew_Helsel\ENTD461_wk2_Andrew_Helsel\calculator.mdb") 

     Dim command As OleDbCommand = New OleDbCommand 
     Dim cmdstring As String = "INSERT INTO wk6 (numFirst, numSecond, Operator, equals, Answer)" + " VALUES (@firstName,@lastName,@Operator,@equals,@answer)" 

     command = New OleDbCommand(cmdstring, conn) 
     command.Parameters.AddWithValue("@firstName", leftPart) 
     command.Parameters.AddWithValue("@lastName", secNum) 
     command.Parameters.AddWithValue("@Operator", strButtonSelected) 
     command.Parameters.AddWithValue("@equals", "=") 
     command.Parameters.AddWithValue("@answer", rightPart) 
     conn.Open() 

     command.ExecuteNonQuery() 

     conn.Close() 
Verwandte Themen