设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1934|回复: 3
打印 上一主题 下一主题

【WPF小品】Silverlight中与数据库交互入门教程 -- 第三课

[复制链接]
跳转到指定楼层
1#
发表于 2013-7-18 11:31:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第三课 设计数据库交互处理逻辑

  本课描述如此编写增删改代码,实现与数据库的交互。

示例文件:

上一课

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2013-7-18 11:31:30 | 只看该作者
本帖最后由 todaynew 于 2013-7-18 11:32 编辑

21、转到MainPage.xaml中,在DataGrid控件的右侧设计数据编辑区域的若干控件;

22、将右侧的TextBox控件的Text属性和DatePicker控件的SelectedDate属性逐一绑定到DataGrid控件的SelectedItem的相关路径上。其中班级ID文本框控件的Text属性绑定到cob班级ID的SelectedValue路径上;

23、保存并生成解决方案,然后按F5测试,测试效果为选中DataGrid的记录后,右侧编辑区域将数据呈现出来。

图示08:


3#
 楼主| 发表于 2013-7-18 11:32:12 | 只看该作者
本帖最后由 todaynew 于 2013-7-18 11:33 编辑

24、转到MainPage.xaml.vb中,编写增删改的处理逻辑,代码如下:

    Private Sub OnSubmitCompleted(ByVal so As SubmitOperation)
        '增删改时,通过SubmitChanges方法绑定该事件,以完成提交返回后的操作。
        SetDataGrid()
    End Sub

    Private Sub btn新增_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btn新增.Click
        If String.IsNullOrEmpty(txt班级ID.Text) Then Exit Sub
        Dim student As New 学生表
        student.姓名 = txt姓名.Text
        student.性别 = txt性别.Text
        If date生日.SelectedDate Is Nothing = False Then
            student.生日 = date生日.SelectedDate
        End If
        student.班级ID = CInt(txt班级ID.Text)
        myD.学生表s.Add(student)
        myD.SubmitChanges(AddressOf OnSubmitCompleted, Nothing) '提交数据并绑定OnSubmitCompleted事件
    End Sub


    Private Sub btn修改_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btn修改.Click
        If String.IsNullOrEmpty(txt学生ID.Text) Then Exit Sub
        Dim student As New 学生表
        student = myD.学生表s.Single(Function(x) x.学生ID = CInt(txt学生ID.Text))
        student.姓名 = txt姓名.Text
        student.性别 = txt性别.Text
        If date生日.SelectedDate Is Nothing = False Then
            student.生日 = date生日.SelectedDate
        End If
        myD.SubmitChanges(AddressOf OnSubmitCompleted, Nothing) '提交数据并绑定OnSubmitCompleted事件
    End Sub

    Private Sub btn删除_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btn删除.Click
        If String.IsNullOrEmpty(txt学生ID.Text) Then Exit Sub
        Dim student As New 学生表
        student = myD.学生表s.Single(Function(x) x.学生ID = CInt(txt学生ID.Text))
        myD.学生表s.Remove(student)
        myD.SubmitChanges(AddressOf OnSubmitCompleted, Nothing) '提交数据并绑定OnSubmitCompleted事件
    End Sub


    Private Sub DataGrid1_GotFocus(sender As Object, e As System.Windows.RoutedEventArgs) Handles DataGrid1.GotFocus
        ResetDatePickerBinding()
    End Sub

    Private Sub ResetDatePickerBinding()
        'DatePicker控件在选择日期后,原在xaml中设置的绑定失效,需重新设置
        Dim b As Binding = New Binding("SelectedItem.生日")
        b.ElementName = "DataGrid1"
        b.Mode = BindingMode.OneWay
        date生日.SetBinding(DatePicker.SelectedDateProperty, b)
    End Sub

25、保存、生成、测试运行。

图示09:

点击这里给我发消息

4#
发表于 2013-7-18 11:38:13 | 只看该作者
老汉又有新成果了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 09:06 , Processed in 0.100753 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表