求VB.NET+access操作

高山流水721 2014-04-22 09:59:54
定义了一个函数
Sub ShowEmpInfo()
Me.hr_nanme.Text = CurEmp.Emp_Name
Me.hr_sex.Text = CurEmp.Sex
Me.hr_num.Text = CurEmp.Emp_Num
Me.hr_address.Text = CurEmp.Emp_Add
Me.hr_intime.Text = CurEmp.Emp_intime
Me.hr_outtime.Text = CurEmp.Emp_outtime
Me.hr_memo.Text = CurEmp.Emp_Memo
End sub



窗体有个listbox,需要加载 员工表 中的 员工姓名 Private Sub Frm_hr_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LBUserName.Items.Clear()
Dim SQLString As String = "SELECT * FROM 员工表"
Dim MSG As String = ""
'执行SQL查询语句
Dim DTable As DataTable = DBoperation.DBoperate(SQLString, MSG)
Dim UserRow As DataRow
For Each UserRow In DTable.Rows
LBUserName.Items.Add(UserRow("员工姓名"))
LBUserName.ValueMember = "员工ID"
LBUserName.SelectedValue = "员工ID"
'LBUserName.DisplayMember = "员工姓名"
Next
End Sub

选择员工姓名时,窗体其他标签的内容读取Access表的信息显示


Private Sub LBUserName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LBUserName.SelectedIndexChanged
If LBUserName.ValueMember = "" Then
CurEmp.Init()
End If
CurEmp.GetInfo(CInt(LBUserName.SelectedValue))
ShowEmpInfo()
End Sub

但是怎么也实现不了,就是这个selectedValue传递有问题
...全文
272 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
abs618 2014-04-30
  • 打赏
  • 举报
回复
说实话,我真的觉得VS建立数据库连接最好用,作一个dataset全都解决了,连sql语句都不用写
greatbody 2014-04-26
  • 打赏
  • 举报
回复
没有详细的 看楼主的代码,但是有一点建议: 最好写一个自己的数据访问层,这样方便使用,也方便程序的数据访问的一致性和安全性
wind_cloud2011 2014-04-23
  • 打赏
  • 举报
回复
你写个函数,将数据库这个数据读取放其中
高山流水721 2014-04-23
  • 打赏
  • 举报
回复
引用 3 楼 wind_cloud2011 的回复:
[quote=引用 1 楼 linanfang721 的回复:] 通过以下代码可以实现这个功能,但是我想通过GetInfo函数实现这个功能 'Dim SQLString As String = "SELECT * FROM 员工表 WHERE 员工姓名='" & LBUserName.SelectedItem & "'" 'Dim MSG As String = "" 'Dim UserTable As DataTable = DBoperation.DBoperate(SQLString, MSG) 'Me.hr_nanme.Text = UserTable.Rows(0)("员工姓名") 'Me.hr_sex.Text = UserTable.Rows(0)("性别") ' Me.hr_address.Text = UserTable.Rows(0)("联系地址").ToString ' Me.hr_num.Text = UserTable.Rows(0)("联系电话") ' Me.hr_intime.Text = UserTable.Rows(0)("入职时间").ToString ' Me.hr_outtime.Text = UserTable.Rows(0)("离职时间").ToString 'Me.hr_memo.Text = CStr(UserTable.Rows(0)("备注")).ToString
读取数据库对应的字段的数据,这很方便阿[/quote] 我在 员工类 里面定义了一个 GetInfo函数,想通过这个函数实现,因为后面还有很多功能用到这个函数
良朋 2014-04-23
  • 打赏
  • 举报
回复
GetInfo函数呢?
高山流水721 2014-04-23
  • 打赏
  • 举报
回复
引用 2 楼 itleon 的回复:
GetInfo函数呢?
三楼不好意思,忘记复制GetInfo函数了 Public Function GetInfo(ByVal TemEmpId As Integer) As Boolean Dim SQLString As String Dim MSG As String = "" If TemEmpId <= 0 Then Init() GetInfo = False Exit Function End If Emp_Id = TemEmpId SQLString = "SELECT * FROM 员工表 WHERE 员工ID=" & Trim(Str(TemEmpId)) Dim DTable As DataTable = DBoperation.DBoperate(SQLString, MSG) If DTable.Rows.Count < 1 Then GetInfo = False Exit Function Else Emp_Name = DTable.Rows(0)("员工姓名") Sex = DTable.Rows(0)("性别") Emp_Add = DTable.Rows(0)("联系地址") Emp_Num = DTable.Rows(0)("联系电话") Emp_intime = DTable.Rows(0)("入职时间") Emp_outtime = DTable.Rows(0)("离职时间") Emp_Memo = DTable.Rows(0)("备注") End If GetInfo = True End Function
高山流水721 2014-04-23
  • 打赏
  • 举报
回复
三楼不好意思,忘记复制GetInfo函数了 Public Function GetInfo(ByVal TemEmpId As Integer) As Boolean Dim SQLString As String Dim MSG As String = "" If TemEmpId <= 0 Then Init() GetInfo = False Exit Function End If Emp_Id = TemEmpId SQLString = "SELECT * FROM 员工表 WHERE 员工ID=" & Trim(Str(TemEmpId)) Dim DTable As DataTable = DBoperation.DBoperate(SQLString, MSG) If DTable.Rows.Count < 1 Then GetInfo = False Exit Function Else Emp_Name = DTable.Rows(0)("员工姓名") Sex = DTable.Rows(0)("性别") Emp_Add = DTable.Rows(0)("联系地址") Emp_Num = DTable.Rows(0)("联系电话") Emp_intime = DTable.Rows(0)("入职时间") Emp_outtime = DTable.Rows(0)("离职时间") Emp_Memo = DTable.Rows(0)("备注") End If GetInfo = True End Function
wind_cloud2011 2014-04-23
  • 打赏
  • 举报
回复
引用 1 楼 linanfang721 的回复:
通过以下代码可以实现这个功能,但是我想通过GetInfo函数实现这个功能 'Dim SQLString As String = "SELECT * FROM 员工表 WHERE 员工姓名='" & LBUserName.SelectedItem & "'" 'Dim MSG As String = "" 'Dim UserTable As DataTable = DBoperation.DBoperate(SQLString, MSG) 'Me.hr_nanme.Text = UserTable.Rows(0)("员工姓名") 'Me.hr_sex.Text = UserTable.Rows(0)("性别") ' Me.hr_address.Text = UserTable.Rows(0)("联系地址").ToString ' Me.hr_num.Text = UserTable.Rows(0)("联系电话") ' Me.hr_intime.Text = UserTable.Rows(0)("入职时间").ToString ' Me.hr_outtime.Text = UserTable.Rows(0)("离职时间").ToString 'Me.hr_memo.Text = CStr(UserTable.Rows(0)("备注")).ToString
读取数据库对应的字段的数据,这很方便阿
高山流水721 2014-04-22
  • 打赏
  • 举报
回复
通过以下代码可以实现这个功能,但是我想通过GetInfo函数实现这个功能 'Dim SQLString As String = "SELECT * FROM 员工表 WHERE 员工姓名='" & LBUserName.SelectedItem & "'" 'Dim MSG As String = "" 'Dim UserTable As DataTable = DBoperation.DBoperate(SQLString, MSG) 'Me.hr_nanme.Text = UserTable.Rows(0)("员工姓名") 'Me.hr_sex.Text = UserTable.Rows(0)("性别") ' Me.hr_address.Text = UserTable.Rows(0)("联系地址").ToString ' Me.hr_num.Text = UserTable.Rows(0)("联系电话") ' Me.hr_intime.Text = UserTable.Rows(0)("入职时间").ToString ' Me.hr_outtime.Text = UserTable.Rows(0)("离职时间").ToString 'Me.hr_memo.Text = CStr(UserTable.Rows(0)("备注")).ToString

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧