敬请帮忙,来者有分!!

Thumb168 2004-07-25 12:54:17
小弟初学,请大家看看我写的这个类有没有问题,因怕内存出现问题,所以... 
Public Class NewsPop
Implements IDisposable

Private m_sqlconnect As System.Data.SqlClient.SqlConnection
Private m_sqlcommand As SqlClient.SqlCommand
Private disposed As Boolean = False


Public Function GetNewsData() As SqlClient.SqlDataReader
m_sqlconnect.ConnectionString = "workstation id=HOME501;packet size=4096;user id=webuser;data source=localhost;persist security info=True;initial catalog=web;password=501"
m_sqlcommand.CommandType = CommandType.Text
m_sqlcommand.CommandText = "select top 5 newsname,[top],[left],[width],[height] from newspop"
m_sqlconnect.Open()
m_sqlcommand.Connection = m_sqlconnect
Return m_sqlcommand.ExecuteReader
End Function

Protected Overrides Sub Finalize()
Dispose(False)
MyBase.Finalize()
End Sub

Public Sub New()
m_sqlconnect = New SqlClient.SqlConnection
m_sqlcommand = New SqlClient.SqlCommand
End Sub

Public Overloads Sub Dispose() Implements System.IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)

End Sub
Protected Overloads Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposed Then
If disposing Then
' Dispose managed resources.
m_sqlconnect.Dispose()
End If
End If
If Not Me.disposed Then
If disposing Then
' Dispose managed resources.
m_sqlcommand.Dispose()
End If
End If
End Sub

End Class
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
goody9807 2004-07-25
  • 打赏
  • 举报
回复
public void Dispose() {
// make sure connection is closed
if (con != null) {
con.Dispose();
con = null;
}
}
  • 打赏
  • 举报
回复
你实现了丢弃模式,实现IDisposable
但你没有实现析构函数啊?要GC.SuppressFinalize(Me)没有意义,只有既实现了丢弃模式又有析构函数的情况下,才会在dispose中要求GC不要再次调用析构函数清理资源。
Night_Elf 2004-07-25
  • 打赏
  • 举报
回复
bitsbird(一瓢.net) 说的没错!
zedan 2004-07-25
  • 打赏
  • 举报
回复
vb啊,帮你顶一下吧
bitsbird 2004-07-25
  • 打赏
  • 举报
回复
m_sqlconnect.Open()
m_sqlcommand.Connection = m_sqlconnect
----------------------------
m_sqlcommand.Connection = m_sqlconnect
m_sqlconnect.Open()

62,046

社区成员

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

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

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

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