- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正考已经结束了,现针对考试中出现的问题作一个系统的总结,希望补考的同学可以吸取教训,争取补考取得好成绩。
题目1:打开考试目录下的项目“sqlzj3.vbproj”,选择“员工信息管理”的选项卡,要求:用SqlDataReader将数据库“sqlzj”中表“Employees”的第一条记录显示在相应的TextBox中,如下图所示。(10分)
正确的做法:
首先题目要求用SqlDataReader,则记住我们肯定要用编程来做,用编程做则必须保证以下几个步骤都要正确:
与数据库的连接
要执行的SQL命令及与连接的关系
将用SqlDataReader读取的数据正确地显示出来
下面我们举出一些典型的出错例子,让大家引以为鉴。
错误一:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
……
With dr.Read
Me.GYid.Text = dr.Item(0)
这里连接没有问题,SQL命令也对,但还是出错,问题就在读取数据时没有考虑被读取数据的类型和显示数据的控件的属性的匹配问题。一般情况下系统会自动进行不同类型间的转换,但遇到数据为空时,则系统就会报错。所以可以将“dr.Item(0)”
这里连接没有问题,SQL命令也对,但还是出错,问题就在读取数据时没有考虑被读取数据的类型和显示数据的控件的属性的匹配问题。
一般情况下系统会自动进行不同类型间的转换,但遇到数据为空时,则系统就会报错。所以可以将“dr.Item(0)”改为“dr.Item(0) .ToString()”,这样就可以避免了。
Me.Snm.Text = dr.Item(1)
Me.ZW.Text = dr.Item(3)
Me.FJH.Text = dr.Item(13)
Me.GJ.Text = dr.Item(11)
Me.QY.Text = dr.Item(9)
Me.DZ.Text = dr.Item(7)
Me.YB.Text = dr.Item(10)
Me.DH.Text = dr.Item(12)
Me.BZ.Text = dr.Item(15)
Me.XW.Text = dr.Item(4)
Me.Bday.Text = dr.Item(5)
Me.Rday.Text = dr.Item(6)
Me.SC.Text = dr.Item(8)
End With
……
End Sub
错误二:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
数据应该从表
数据应该从表“Employees”中读取,而不是表“Customers”
cn.Open()
cmd.Connection = cn
cmd.CommandType = CommandType.Text
cmd.CommandText = select top 1 * from customers
dr = cmd.ExecuteReader
If dr.Read Then
控件的名称要根据考试时的具体情况而改变,在这次考试中控件名字为“CPID”、“CHPM”…… Me.
控件的名称要根据考试时的具体情况而改变,在这次考试中控件名字为“CPID”、“CHPM”……
Me.TextBox2.Text = dr.Item(公司名).ToString()
Me.TextBox3.Text = dr.Item(地址).ToString()
Me.TextBox4.Text = dr.Item(城市).ToString()
Me.TextBox5.Text = dr.Item(区域).ToString()
Me.TextBox6.Text = dr.Item(国
文档评论(0)