asp.net类(.vb)中sql语句及.aspx中如何获取值的问题
################# begin: 类文件Magazine.vb ##########################
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Public Class Magazine
Private _MagazineID As Nullable(Of Integer) = Nothing
Private _M_No As String
Private _Prol_Title As String
#Region "Database fields as properties "
Public ReadOnly Property EmployeeID() As Nullable(Of Integer)
Get
Return _MagazineID
End Get
End Property
Public Property M_N0() As String
Get
Return _M_No
End Get
Set(ByVal value As String)
_M_No = value
End Set
End Property
Public Property Prol_Title() As String
Get
Return _Prol_Title
End Get
Set(ByVal value As String)
_Prol_Title = value
End Set
End Property
#End Region
Private Const conn As String = "server=localhost;database=cla; " & _
"User ID=sa;password=password; "
Public Shared Function SelectMagazine(ByVal MagazineID As Integer) As Magazine
Const sql As String = "select top 1 MagazineID, M_No, prol_title " & _
"from magazine where MagazineID={0} "
Dim result As Magazine = Nothing
Try
'Open connection
Using cn As New SqlConnection(conn)
Using cmd As New SqlCommand(String.Format(sql, MagazineID.ToString), cn)
cn.Open()
Using dr As SqlDataReader = _
cmd.ExecuteReader(Data.CommandBehavior.CloseConnection)
If dr.Read() Then
'Create result object
result = New Magazine
With result
._MagazineID = CInt(dr(0))
._M_No = CStr(dr(1))
._Prol_Title = CStr(dr(2))
End With
End If
End Using
End Using
End Using
Catch ex As Exception
'No error handling
Throw ex
End Try
Return result
End Function
Public Sub getResult(ByVal MagazineID As Integer)
'??????? 是不是这几行有问题 ????????????????????????
Const sql As String = "select top 1 MagazineID, M_No, prol_title " & _
"from magazine where MagazineID={0} "
'??????? 是不是这几行有问题 ????????????????????????
Try
'Open connection
Using cn As New SqlConnection(conn)
Using cmd As New SqlCommand(String.Format(sql, MagazineID), cn)
cn.Open()
Using dr As SqlDataReader = _
cmd.ExecuteReader(Data.CommandBehavior.CloseConnection)
If dr.Read() Then
'Create result object
_MagazineID = CInt(dr(0))
_M_No = CStr(dr(1))
_Prol_Title = CStr(dr(2))
End If
End Using
End Using
End Using
Catch ex As Exception
'No error handling
Throw ex
End Try
End Sub
End Class
########## end: Magazine.vb类文件 ########################
############## begin:commend.aspx文件 #############################
<%@ Page Language= "VB " Debug= "true " MasterPageFile= "~/Cla.master " CodeFile= "commend.aspx.vb " Inherits= "commend " title= "Untitled Page " %>
<%@ Import Namespace= "System.IO " %>
<%@ Import Namespace= "alaok.Cla.ADONET " %>
<script runat= "server ">
Protected Sub Page_Load(ByVal Src As Object, ByVal E As EventArgs)
Dim intNum As Integer = 8
Dim mgzn As New Magazine()
mgzn.getResult(8)
End Sub
</script>
<asp:Content ID= "Content1 " ContentPlaceHolderID= "ContentPlaceHolder1 " Runat= "Server ">
<form id= "form1 " runat= "server ">
<TABLE WIDTH= "764 " BORDER= "0 " CELLSPACING= "0 " CELLPADDING= "0 " ALIGN= "CENTER ">
<TR>
<TD WIDTH= "30 " BGCOLOR= "#FAFCFF " ROWSPAN= "4 " VALIGN= "TOP "> </TD>
<TD WIDTH= "150 " BGCOLOR= "A2DABE " ROWSPAN= "4 " VALIGN= "TOP ">
<BR> <P> <IMG SRC= "images/ad8.jpg "> </P> </TD> <TD BGCOLOR= "#FFFFFF " VALIGN= "TOP " HEIGHT= "5 "> </TD>
<TD BGCOLOR= "#FFFFFF " VALIGN= "TOP " WIDTH= "20 "> </TD>
</TR>
<TR>
<TD BGCOLOR= "#FFFFFF " HEIGHT= "10 " ALIGN= "LEFT " CLASS= "songtida "> <b> gt;> </b> <BR> </TD>
<TD BGCOLOR= "#FFFFFF "> </TD>
</TR>
<TR>
<TD BGCOLOR= "#FFFFFF " COLSPAN= "2 ">
<TABLE WIDTH= "90% " BORDER= "0 " CELLSPACING= "0 " CELLPADDING= "0 " height=1 ALIGN= "CENTER ">
<TR> <TD BGCOLOR= "#000000 "> </TD> </TR>
</TABLE>
</TD>
</TR>
<asp:DetailsView ID= "DetailsView1 " runat= "server " AutoGenerateRows= "False " DataSourceID= "ObjectDataSource1 "
Height= "50px " Width= "125px ">
<Fields>
<asp:BoundField DataField= "M_N0 " HeaderText= "M_N0 " SortExpression= "M_N0 " />
<asp:BoundField DataField= "EmployeeID " HeaderText= "EmployeeID " ReadOnly= "True " SortExpression= "EmployeeID " />
<asp:BoundField DataField= "Prol_Title " HeaderText= "Prol_Title " SortExpression= "Prol_Title " />
</Fields>
</asp:DetailsView>
<asp:ObjectDataSource ID= "ObjectDataSource1 " runat= "server " SelectMethod= "SelectMagazine "
TypeName= "Magazine ">
<SelectParameters>
<asp:Parameter DefaultValue= "8 " Name= "MagazineID " Type= "Int32 " />
</SelectParameters>
</asp:ObjectDataSource>
<!-- 文件框结果却为空,是写的eval等方法不对吗 -->
<asp:TextBox runat= "server " ID= "prol_title " Text= ' <%# Eval( "mgzn.prol_title ") %> ' />
<br> <br> <br> <br> <br> <br> <br> <br> </TD> </TR> </TABLE> </TD> </TR>
</TABLE>
</form>
</asp:Content>
########## end: commend.aspx文件 ###################################
用objectDataSource控件及DetailsView控件再用类中的SelectMagazine函数可以得到数据。
但用getResult中的方法后却不能在文本框中获得数据,请问到底是哪儿的原因,是
getResult方法中的 sql语句不对,还是其内赋值方式不对,
又或者是aspx中的调用及显示方法是错误的,请高手指点一下,不胜感激!!!
[解决办法]
感觉应该放在DetailsView 里面才起作用,不然它怎么知道是绑定哪个数据源
[解决办法]
你问问题要注意方式,一下子帖这么多代码。核心给出来就可以了。
[解决办法]
UP
[解决办法]
帮顶
[解决办法]
帮顶