如何将列表视图中的项目保存到访问数据库?

时间:2013-03-20 00:54:46

标签: c# winforms listview ms-access windows-forms-designer

如何在访问数据库中保存listview项目?我做过研究,但找不到合适的答案。任何人都可以帮助我吗?

我的列表视图包含以下列:ItemID,ItemName,Price,Quantity,TotalPrice和我的访问数据库具有相同的列数和名称。我想将listview中的所有数据保存到访问数据库中。

1 个答案:

答案 0 :(得分:3)

来自http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=79222

要阅读列表视图,您应该执行以下操作:

void LoadListView() 
{ 
    DataSet ds = new DataSet(); 
    System.Data.OleDb.OleDbConnection con = 
        new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\accessItems.mdb;");
    System.Data.OleDb.OleDbDataAdapter adpt = 
        new System.Data.OleDb.OleDbDataAdapter("select * from Items", con); 
    adpt.Fill(ds); 
    DataTable table = ds.Tables[0]; 
    this.listView1.Items.Clear(); 
    foreach(DataRow r in table.Rows) 
        this.listView1.Items.Add(
            new ListViewItem(r["Value"].ToString()));//value is the field of name value 
} 

在列表视图中编写新项目:

void SaveItem(ListViewItem item) 
{ 
    DataSet ds = new DataSet(); 
    System.Data.OleDb.OleDbConnection con = 
        new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\accessItems.mdb;"); 
    System.Data.OleDb.OleDbCommand cmd = 
        new System.Data.OleDb.OleDbCommand("insert into Items(Value) values(" + item.Text + ")", con); 
    con.Open(); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
}