问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

WPF 操作Access数据库

发布网友 发布时间:2022-05-01 11:24

我来回答

2个回答

懂视网 时间:2022-05-01 15:45

1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> </startup> <connectionStrings> <add name="conn" connectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;Persist Security Info=False" /> </connectionStrings> </configuration>

3、创建连接数据库的类

 public class DbHelper
 {
 public static OleDbConnection getCon(){
  string strcon = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString();
  return new OleDbConnection(strcon);
 }
 
 }

4、创建Model类

public class Person
 {
 public string username { get; set; }
 public string pwd { get; set; }
 public int age { get; set; }
 public DateTime createdate { get; set; }
 public DateTime updatedate { get; set; }
 public string classroom { get; set; }
 public int id { get; set; }
 }

5、在mainwindow.cs类中添加数据和绑定数据

 private Random rnd = new Random();
 private ObservableCollection<Person> list { get; set; }
 public MainWindow()
 {
  InitializeComponent();
  add();//添加数据
  BindData();//绑定数据
  cr.ItemsSource = new List<string> { "一班", "二班", "三班" };
 }
 
 public void BindData()
 {
  using (var conn = DbHelper.getCon())
  {
  list = new ObservableCollection<Person>(conn.Query<Person>("select * from users").ToList<Person>());
  }
  this.DataContext = list;
 }
 
 public void add()
 {
  using (var db = DbHelper.getCon())
  {
  for (int i = 0; i < 10; i++)
  {
   db.Execute("insert into users(username,pwd,age,createDate,classroom) values(@username,@pwd,@age,@createDate,@classroom)", new
   {
   username = "张三",
   pwd = "123",
   age = rnd.Next(20),
   createDate=DateTime.Now.ToString(),
   classroom = "一班"
   });
  }
  }
 }

6、界面设计:

<Window x:Class="WpfApplication3.MainWindow"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 Title="MainWindow" Height="350" Width="525">
 <Grid>
 <Grid.RowDefinitions>
  <RowDefinition Height="auto"/>
  <RowDefinition Height="*"/>
  <RowDefinition Height="auto"/>
  <RowDefinition Height="22"/>
 </Grid.RowDefinitions>
 <TextBlock Text="access数据基本读写操作"></TextBlock>
 <DataGrid Grid.Row="1" Name="dg" ItemsSource="{Binding}" CanUserAddRows="False" AutoGenerateColumns="False">
  <DataGrid.Columns>
  <DataGridTextColumn Header="姓名" Binding="{Binding username}" Width="100"></DataGridTextColumn>
  <DataGridTextColumn Header="密码" Binding="{Binding pwd}"></DataGridTextColumn>
  <DataGridTextColumn Header="年龄" Binding="{Binding age}"></DataGridTextColumn>
  <DataGridTextColumn Header="添加时间" Binding="{Binding createdate}"></DataGridTextColumn>
  <DataGridTextColumn Header="更新时间" Binding="{Binding updatedate}"></DataGridTextColumn>
  <DataGridComboBoxColumn x:Name="cr" Header="班级" SelectedItemBinding="{Binding classroom}"></DataGridComboBoxColumn>
  </DataGrid.Columns>
 </DataGrid>
 <WrapPanel Grid.Row="2" DataContext="{Binding ElementName=dg,Path=SelectedItem}">
  <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
  <TextBlock Text="姓名:"/>
  <TextBlock MinWidth="100" Text="{Binding username}"/>
  </StackPanel>
  <StackPanel Orientation="Horizontal">
  <TextBlock Text="密码:"/>
  <TextBlock MinWidth="100" Text="{Binding pwd}"/>

  </StackPanel>
  <StackPanel Orientation="Horizontal">
  <TextBlock Text="年龄:"/>
  <TextBlock MinWidth="100" Text="{Binding age}"/>

  </StackPanel>
  <StackPanel Orientation="Horizontal">
  <TextBlock Text="添加时间:"/>
  <TextBlock MinWidth="100" Text="{Binding createdate}"/>

  </StackPanel>
  <StackPanel Orientation="Horizontal">
  <TextBlock Text="更新时间:"/>
  <TextBlock MinWidth="100" Text="{Binding updatedate}"/>

  </StackPanel>
  <StackPanel Orientation="Horizontal">
  <TextBlock Text="班级:"/>
  <TextBlock MinWidth="100" Text="{Binding classroom}"/>

  </StackPanel>
 </WrapPanel>
 <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="3" >
  <Button Content="刷新" Height="22" VerticalAlignment="Top" Click="Button_Click" />
  <Button Content="更新" Click="Button_Click_1"/>
 </StackPanel>
 </Grid>
</Window>

7、对刷新 和更新按钮添加事件:

private void Button_Click(object sender, RoutedEventArgs e)
 {
  BindData();
 }

 private void Button_Click_1(object sender, RoutedEventArgs e)
 {
  var p=dg.SelectedItem as Person;
  if (p == null)
  {
  MessageBox.Show("请选择要更新的行");
  return;
  }
  using (var conn = DbHelper.getCon())
  {
  conn.Execute("update users set username=@username,pwd=@pwd,age=@age,createdate=@c,updatedate=@u,classroom=@classroom where id=@id", new
  {
   username=p.username,pwd=p.pwd,age=p.age,c=p.createdate,u=p.updatedate,classroom=p.classroom ,id=p.id

  });
  MessageBox.Show("ok");
  }
 }

 

WPF以access为数据库,简单实现一个显示数据和更新数据的实例

标签:

热心网友 时间:2022-05-01 12:53

这个真不会追问汗, 纠结呀。 项目时间要到了。还没规划好

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... 怎么样洗照片?需要些什么 六月份刚买的华为P30,一下子就变成这样了,想请问一下原因是什么? 大疆精灵4有充电宝吗 大疆精灵4pro与V2·0的区别 带&quot;雨&quot;的诗句 杏花春雨打一名杜甫名诗词 大疆无人机冲电用多少瓦 白马西风塞上杏花烟雨江南是哪个诗的诗句? 小楼一夜听春雨的诗全文是什么? 铁马秋风 杏花春雨是古诗中化出的意境,用两句古诗解读 雨中杏花诗句 中诺电话机地声音大小怎么调拜托各位大神 陆游的诗中含有杏花春雨这几个字的诗有哪些 中诺c228调节音量大小 中诺电话机的声音大小怎么调? 杏花村雨&quot;出自陆游的什么诗句? 杏花春雨正是陆游的诗,诗名是什么 文中多处引用描写杏花春雨的古诗词 春雨杏花诗句 中诺c251电话机怎么将通话音量调小 怎么洗带锯齿的证件照 自己在手机上照证件照怎么洗 三声的汉字有哪些 zha第三声的汉字有哪些 “li”三声声调有哪些字? 连续三个以上读三声的字该怎么读? 普通话第3声的字有哪些?是给女宝宝起名用的 shαng的三声汉字有几个? 三声ying拼音的字有哪些? 解压文件损坏!解压失败怎么办?能不能再解压出来! 无法解压文件怎么办? C#链接ACCESS数据库,实现在网页上显示并动态添加修改删除数据 电动自行车的电池可以寄到国外吗? 电动自行车电池能不能邮到日本来 电动车电瓶可以从中国寄往英国吗? 如何给妈妈在参加完十八岁成人礼之后写一份信? *礼要到了,我希望给父母一段感人的话,能催人泪下最好。在线跪求 转:为什么不要给孩子画简笔画 为什么简笔画总是画不好,复杂的就可以画的很棒??? 6岁以内小孩子学画画,应该买什么笔