2017-10-08 20 views
-1

See pic vb.netへようこそ。とにかく、私はそれがリストビューにあるので、私がデータベースで選んだ製品と価格の価値をどのように置くのか分かりません。試しました Dim txtValue as String txtValue = ListView1.FocusedItem.SubItems(0).text。列の値を取得する。 私が提供した画像で、私はcustomnameを入れて、listview1で彼女の注文を選ぶと、私のデータベースに保存されます。そしてそれは私のlistview2を表示します。ちょうどそのアドレスを無視してください。
UPDATEこのコードは動作しますが、まだエラーメッセージが表示されています。 Error message see piclistviewで選択したアイテムをデータベースに配置するにはどうすればよいですか?

Imports System.Data.SqlClient 
Imports System.IO 

Public Class Form1 
    Dim con As SqlConnection = New SqlConnection("server=.\SQL;database=try;Trusted_Connection=TRUE") 
    Dim cmd As SqlCommand 
    Dim cmd2 As SqlCommand 
    Dim rdr As SqlDataReader 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     con.Open() 
     con.Close() 
     list() 

     list2() 
    End Sub 
    Sub list() 
     con.Open() 


     cmd = New SqlCommand("SELECT * FROM ProductTable", con) 
     rdr = cmd.ExecuteReader 
     ListView1.Items.Clear() 
     If rdr.HasRows Then 
      Do While rdr.Read() 
       Dim arr As String() = New String(2) {} 
       Dim itm As ListViewItem 

       arr(0) = rdr("productID") 
       arr(1) = rdr("product") 
       arr(2) = rdr("price") 

       itm = New ListViewItem(arr) 
       ListView1.Items.Add(itm) 


      Loop 

     End If 

     con.Close() 
    End Sub 


    Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click 

     modifyrecord("Insert into ProductOrder([name],[product],[price]) values ('" & txtname.Text & "','" & ListView1.SelectedItems(0).SubItems(1).Text & "'," & ListView1.SelectedItems(0).SubItems(2).Text & "") 



    End Sub 
    Private Sub listView1_MouseClick_1(ByVal sender As Object, ByVal e As MouseEventArgs) 

    End Sub 

    Sub list2() 
     con.Open() 


     cmd2 = New SqlCommand("SELECT * FROM ProductOrder", con) 
     rdr = cmd2.ExecuteReader 
     ListView2.Items.Clear() 
     If rdr.HasRows Then 
      Do While rdr.Read() 
       Dim arr As String() = New String(3) {} 
       Dim itm As ListViewItem 

       arr(0) = rdr("id") 
       arr(1) = rdr("name") 
       arr(2) = rdr("product") 
       arr(3) = rdr("price") 

       itm = New ListViewItem(arr) 
       ListView2.Items.Add(itm) 


      Loop 

     End If 

     con.Close() 
    End Sub 
    Sub modifyrecord(ByVal sql) 

     If txtname.Text = "" Or ListView1.SelectedItems(0).SubItems(1).Text = "" Or IsNumeric(ListView1.SelectedItems(0).SubItems(2).Text) = False Then 


     Else 
      con.Open() 
      cmd = New SqlCommand(sql, con) 
      cmd.ExecuteNonQuery() 
      con.Close() 
      list() 

     End If 

    End Sub 
End Class 
+0

DataGridViewは、作成されて以来ずっと簡単です。助けを求めるために挿入することはあまりありません。 [ask]を読んで[ツアー]を受けてください – Plutonix

+0

まず、データベースにデータを挿入する方法を知っていますか? – jmcilhinney

+0

はい。私はlistviewでそれを行う方法を知りません。 – view

答えて

0

私はあなたが複数選択がfalseに設定されていると仮定し、リストビュー からの製品と価格を取得するには、この

txtValue = ListView1.SelectedItems(0).SubItems(1).Text 
txtValue1 = ListView1.SelectedItems(0).SubItems(2).Text 

を試してみてください。

+0

私はそれが動作すると思うが、エラーメッセージがあります。上の図を参照してください。 – view

+0

エラーは何ですか?私は写真を見ましたが、それはエラーが何だったのかは言いませんでした。価格のデータ型が文字列だったら私は驚いています。それを確認できますか? – Mary

+0

価格のデータ型はint型でしたが、なぜ「100近くの構文が正しくない」とわかりません。 – view

関連する問題