Asp.Net系统刷新页面频繁出错,寻求帮助。

Aspire 2005-02-22 12:00:46
我的一个不复杂的库存数据查询页面,反复刷新时,偶尔会有黄色错误页面,按工具栏再刷新又显示出正常查询结果。
Dugub信息显示是:DataBinder.Eval:“System.Data.DataRowView”不包含名称为 商品代号 的属性。。
在多台机共享ADSL上网的网络访问,更是频繁。开发时单机调试从来没有碰到这个问题。程序中数据链接每次查询完我都关闭的。服务器Win2003+SQL2000SP3,双1.8G+RAID5+2GB内存+1M光纤接入,单独运行该Asp.Net系统。

'函数:从数据库中获取数据集
'参数:SqlStr-SQL查询字符串
'返回:DataSet-数据集
Public Function GetDataFromDB(ByVal sqlstr As String) As DataSet
Dim DataConnection As New SqlConnection(ConnectStr)
Dim DataAdapter As New SqlDataAdapter(sqlstr, DataConnection)
Dim DataSet As New DataSet
Try
DataSet.Clear()
DataAdapter.Fill(DataSet)
If Not DataSet Is Nothing Then
Return DataSet
End If
Catch
Return Nothing
Finally
DataConnection.Close()
End Try
End Function
-------页面代码---------------
Public strSqlInfo As String
Public Ds As New DataSet

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
'判断是否正常登录进入
If Request.Cookies("归属单位").Value = "" Then Response.Redirect("../Default.Aspx")
DataGridInfo.DataSource = GetDataFromDB("Select TOP 1 * From 视图_库存视图 Where 1<>1")
DataGridInfo.DataBind()
'填充类别树
TreeViewinfo.Nodes.Clear()
Ds.Clear()
Ds = GetDataFromDB("Select * From 商品类别表 Order By 类别代号")
IntiTree(TreeViewinfo.Nodes, "0")
'填充可选择的仓库
DrpListSKU.DataSource = GetDataFromDB("Select 仓库名称 From 字典_仓库表 ")
DrpListSKU.DataBind()
Else
Dim strNode As String '树型节点名称
Dim strAskInfo As String
'获取商品类型节点
strNode = TreeViewinfo.GetNodeFromIndex(TreeViewinfo.SelectedNodeIndex).ID.ToString
'检查是否有查询内容
If Trim$(TxtBoxAsk.Text) = "" Then
strAskInfo = "%"
strSqlInfo = " Where 类别代号 Like '" + strNode + "%' And 仓库名称='" + DrpListSKU.SelectedValue.ToString + "'"
Else
strAskInfo = "%" + Trim$(TxtBoxAsk.Text) + "%"
strSqlInfo = " Where 仓库名称='" + DrpListSKU.SelectedValue.ToString + "'" _
+ " And (商品名称 Like '" + strAskInfo + "' Or 商品型号 Like '" + strAskInfo + "' " _
+ " Or 商品规格 Like '" + strAskInfo + "' Or 五笔代码 Like '" + strAskInfo + "' Or 拼音代码 Like '" + strAskInfo + "') "
End If
'判断是否只显示数量>0的商品
If ChkHasSKU.Checked = True Then
strSqlInfo = strSqlInfo + " And (库存<>0 Or 预订<>0) "
End If

End If
End Sub

'功能:递归填充TreeView树/该模块已测试完全正常
Private Sub IntiTree(ByRef Nds As Microsoft.Web.UI.WebControls.TreeNodeCollection, ByVal ParentId As String)
Dim dv As New DataView
Dim drv As DataRowView
Dim tmpNd As Microsoft.Web.UI.WebControls.TreeNode
Dim strId As String
dv.Table = Ds.Tables(0).DefaultView.Table
dv.RowFilter = "父类别='" & ParentId & "'"
For Each drv In dv
tmpNd = New Microsoft.Web.UI.WebControls.TreeNode
strId = drv("类别代号")
tmpNd.ID = strId
tmpNd.Text = drv("类别名称")
'tmpNd.ImageUrl = drv("ICON").ToString
Nds.Add(tmpNd)
IntiTree(Nds(Nds.Count - 1).Nodes, strId)
Next
End Sub

Private Sub BtnAsk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAsk.Click
'清除显示和选择
DataGridInfo.SelectedIndex = -1
DataGridInfo.CurrentPageIndex = 0
DataGridInfo.DataSource() = GetDataFromDB("Select * From 视图_库存视图 " + strSqlInfo + " Order BY 商品名称")
DataGridInfo.DataBind()
End Sub

Private Sub DataGridInfo_PageIndexChanged1(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGridInfo.PageIndexChanged
'清除显示和选择
DataGridInfo.SelectedIndex = -1
DataGridInfo.CurrentPageIndex = e.NewPageIndex
DataGridInfo.DataSource() = GetDataFromDB("Select * From 视图_库存视图 " + strSqlInfo + " Order BY 商品名称")
DataGridInfo.DataBind()
End Sub
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
46539492 2005-02-22
  • 打赏
  • 举报
回复
up!
jackie615 2005-02-22
  • 打赏
  • 举报
回复
up
doubon 2005-02-22
  • 打赏
  • 举报
回复
顶!
yizhixiaozhu 2005-02-22
  • 打赏
  • 举报
回复
up
lohoo 2005-02-22
  • 打赏
  • 举报
回复
不是出了出错信息了吗?商品代号没有,看看,select出来之后,绑定时,有没有?
Aspire 2005-02-22
  • 打赏
  • 举报
回复
Help!难道没有人知道吗?

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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