2017-04-12 3 views
0

私は2つのテキストボックスを持つ電卓を持っています。次に、プラス、マイナス、除算、または掛け算ボタンをクリックすると、その関数がその数値に対して実行されます。これらの数値はlistbox1というリストボックスに保存されます。ユーザーが結果を表示するためにクリックすると、リストボックスに保存されたすべての値が入力され、アプリケーションはリストボックス項目をアクセスデータベースに保存するためにサポートされます。それは動作していません。以下はnumFirstは、データベーステーブル内のカテゴリの名前で私のコードです:リストボックスの値を追加してデータベースウィンドウのフォームアプリケーションにアクセスする

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

「機能しない」とは何ですか? – nicomp

+0

これはAccessデータベースに何も追加しません – atahelsel

+1

レビューhttp://stackoverflow.com/questions/21961951/inserting-ms-access-row-into-database-using-vb-net – June7

答えて

0

は、それを考え出し選択し、すべてのクエリ文字列を削除し、合わせてビットを、その結果を変更した後のパラメータに私のテキストボックスフィールドを作りました私はテーブルのために必要なフォーマット。

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() 
関連する問題