如何在访问数据库中保存listview项目?我做过研究,但找不到合适的答案。任何人都可以帮助我吗?
我的列表视图包含以下列:ItemID,ItemName,Price,Quantity,TotalPrice和我的访问数据库具有相同的列数和名称。我想将listview中的所有数据保存到访问数据库中。
答案 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();
}