数据绑定问题,请高手帮忙,多谢!

捷哥1999 2010-04-04 07:40:58
在vb.net中,使用这样的方式绑定控件,会有问题,记录位置(BindingManageBase.Postion位置变化)的变化并无法实现文本框内容显示当前记录位置的信息:

'完成连接数据库和填充数据
sqlConn = New SqlConnection("data source=(local);database=JWInfo;integrated security=SSPI")
sqlcmd = New SqlCommand("select * from 用户", sqlConn)
sqlDa = New SqlDataAdapter(sqlcmd)

ds = New DataSet()
sqlDa.Fill(ds, "用户")

TextBox1.DataBindings.Add("text", ds.Tables("用户"), "用户名")
TextBox2.DataBindings.Add("text", ds.Tables("用户"), "密码")
TextBox3.DataBindings.Add("text", ds.Tables("用户"), "用户类型编号")
TextBox4.DataBindings.Add("text", ds.Tables("用户"), "启用日期")

bindingManageBase = Me.BindingContext(ds, "用户")

bmData.Position = 0

但是如果这么绑定,则修改记录位置,就能实现文本框内容跟着改变,书上说这两种方式都可以的,但是实际上,只有下面的方式是可以的,难道上面那种绑定不可以?哪位高手帮忙解答一下?谢过了先!

TextBox1.DataBindings.Add("Text", ds, "用户.用户名")
TextBox2.DataBindings.Add("Text", ds, "用户.密码")
TextBox3.DataBindings.Add("Text", ds, "用户.用户类型编号")
TextBox4.DataBindings.Add("Text", ds, "用户.启用日期")

书上说如果Add方法的第二个参数是DataSet,则第三个参数为“表名.字段名”,如果第二个参数是Table,则第三个参数就直接写字段名。

...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
捷哥1999 2010-04-05
  • 打赏
  • 举报
回复
不是钻进书里啃字,而是想弄明白为什么两种数据绑定方式都可以,而实际上,我的程序中,只有一种方式能正常工作,昨天晚上找到原因了,发现是创建BindingManageBase的时候,有两种方式去指定数据源:
bmData = Me.BindingContext(SqlDs, "学生信息")
bmData = Me.BindingContext(SqlDs.Tables("学生信息"))
第一种方式是指定DataSet和表名,第二种方式是直接指定数据表。
如果是第一种方式,则绑定控件属性时必须采用这种方法:

TextBox1.DataBindings.Add("Text", SqlDs, "学生信息.姓名")
如果是采用直接指定数据表的方式,则必须这样:
TextBox1.DataBindings.Add("Text", SqlDs.Tables("学生信息"), "姓名")
段传涛 2010-04-04
  • 打赏
  • 举报
回复
不用钻进书本里啃字吧,找一个对的自己喜欢的方法,完成任务就可以了。任何东西都很多种方法。
处理这些问题 我一直用datarow 对象。

16,554

社区成员

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

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