日期:2014-05-18  浏览次数:20463 次

实现这个简单功能应该用什么对象?
一个页面上有一个输入框,3个Label.一个查询按钮。

我想实现在输入框中输入记录ID,点查询。3个Label显示相应记录值。

代码如下:

Imports   System.Data
Imports   System.Data.SqlClient
Partial   Class   _Default
        Inherits   System.Web.UI.Page
        Dim   conn   As   New   SqlClient.SqlConnection
        Dim   comm   As   New   SqlClient.SqlCommand
        Dim   dataread   As   SqlClient.SqlDataReader
        Dim   STR_conn   =   System.Configuration.ConfigurationManager.ConnectionStrings( "tzsb_jyConnectionString ").ToString()

        Protected   Sub   Page_Load(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)   Handles   Me.Load
                conn   =   New   SqlClient.SqlConnection(STR_conn)

        End   Sub


        Protected   Sub   Button3_Click(ByVal   sender   As   Object,   ByVal   e   As   System.EventArgs)   Handles   Button3.Click
                conn.Open()
                comm   =   New   SqlClient.SqlCommand( "select   使用证编号,设备名称,使用单位   from   T_SBXX_JYXX_NBTJZX   WHERE   SBID   like   '% "   &   TextBox2.Text   &   "% ' ",   conn)
                dataread   =   comm.ExecuteReader()
                Label1.Text   =   dataread.Item( "使用证编号 ")
                Label2.Text   =   dataread.Item( "设备名称 ")
                Label3.Text   =   dataread.Item( "使用单位 ")
        End   Sub
End   Class
(数据库中记录ID是唯一的,就是说查询出的记录只有一条的。)
运行後提示:Label1.Text   =   dataread.Item( "使用证编号 ")出错!
错误提示为:在没有任何数据时进行无效的读取尝试。

我想是不是这里不能用DataReader   啊?

大家   说我该怎么样实现这个简单的   功能啊   ?

------解决方案--------------------
数据读取器(dataread)默认是在所有数据之前,必须先Read一下才能到第一行
------解决方案--------------------
1.
当然可以使用 DataReader

2.
运行後提示:Label1.Text = dataread.Item( "使用证编号 ")出错!
________________
使用 DataReader 读取数据钱,请先调用其 Read 方法

dataread = comm.ExecuteReader()
Label1.Text = dataread.Item( "使用证编号 ")

> > > >
dataread = comm.ExecuteReader()
if dataread.read() = true then
Label1.Text = dataread.Item( "使用证编号 ")
Label2.Text = dataread.Item( "设备名称 ")
Label3.Text = dataread.Item( "使用单位 ")
end if


3.
(数据库中记录ID是唯一的,就是说查询出的记录只有一条的。)
_____________________________
既然是 ID,条件语句请不要使用 LIKE,LIKE 用于模糊查询,

comm = New SqlClient.SqlCommand( "select 使用证编号,设备名称,使用单位 from T_SBXX_JYXX_NBTJZX WHERE SBID like '% " & TextBox2.Text & "% ' ", conn)

> > >

comm = New SqlClient.SqlCommand( "select 使用证编号,设备名称,使用单位 from T_SBXX_JYXX_