首页 / ACCESS / System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。
System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3639字,纯文字阅读大概需要6分钟。
内容图文
![System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。](/upload/InfoBanner/zyjiaocheng/487/de064950a44849d9865deab5113f769d.jpg)
错误背景:
操作系统:编程环境:VS2013。 语言:VB.net; 数据库:SQLserver2008
做数据库连接时。发生的错误:
错误提示为:
说明:用VB.net连接SQLServer数据库
第一种情况:
连接字符串为“Server=(Local);Database=charge_sys;UserID = sa;Password=123456”时,连接没问题;
另外一种情况:
当把“ Server=(Local)”换为 “ Server=192.168.24.123 ”。即把local换为数据库serverIP地址时,连接不成功。出现如上错误(PS:其它人的机器上就能够)。
第一种情况的代码:
Public Class UserDAO Public connStr As String = "Server=(Local);Database=charge_sys;User ID = sa;Password=123456" Public Function UserLogin(ByVal userName As String, ByVal password As String) As Boolean <span style="white-space:pre"> </span> Dim conn As New SqlConnection(connStr) Dim dbcmd As New SqlCommand Dim reader As SqlDataReader <span style="white-space:pre"> </span> Dim sqlStr As String = "select * from User_Info where userID=@userName and PWD=@password" '与数据库建立连接 conn.Open() '操作数据库 dbcmd = New SqlCommand(sqlStr, conn) dbcmd.Parameters.Add(New SqlParameter("@userName", userName)) dbcmd.Parameters.Add(New SqlParameter("@password", password)) reader = dbcmd.ExecuteReader If reader.Read Then Return True Else Return False End If '关闭与数据库的连接 conn.Close() End Function End Class另外一种情况的代码
Public Class UserDAO Public connStr As String = "Server=192.168.24.123;Database=charge_sys;User ID = sa;Password=123456" Public Function UserLogin(ByVal userName As String, ByVal password As String) As Boolean <span> </span> Dim conn As New SqlConnection(connStr) Dim dbcmd As New SqlCommand Dim reader As SqlDataReader <span> </span> Dim sqlStr As String = "select * from User_Info where userID=@userName and PWD=@password" '与数据库建立连接 conn.Open() '操作数据库 dbcmd = New SqlCommand(sqlStr, conn) dbcmd.Parameters.Add(New SqlParameter("@userName", userName)) dbcmd.Parameters.Add(New SqlParameter("@password", password)) reader = dbcmd.ExecuteReader If reader.Read Then Return True Else Return False End If '关闭与数据库的连接 conn.Close() End Function End Class两种代码的不同之处只在于数据库连接字符串中的Server值不同。
解决方法:
第一种方法:重置winsock,我的系统为Win7 64位旗舰版,用管理员身份执行:netsh winsock reset ,重新启动,得到解决。其它系统重置方法或者出现故障,可參考百度百科《netsh winsock reset》。
第一种方法:
更新.NET Framework。
在VisualStudio的反馈中心找到了解决方法:After installing VS 2013 unable to add data connections? 。在这个帖子以下有这样一句评论:
![System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424103022535.jpg)
在VS中看了一下.NET Framework的版本号:
![System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。 - 文章图片](/upload/getfiles/0001/2021/4/24/20210424103022736.jpg)
于是去下载了最新版本号的.NET Framework4.5.2(点击跳到下载链接)。安装之后上述问题“ ‘System.AccessViolationException’ 类型的未经处理的异常在 System.Data.dll 中发生” 得到完美解决。
总结:
发生此问题“ ‘System.AccessViolationException’ 类型的未经处理的异常在 System.Data.dll 中发生”,可能是安装了VS2013后对系统中的winsock接口产生影响。因此第一种方法重置winsock能够解决System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。
标签:vb.net tab else editor exce false word line framework
本文系统来源:http://www.cnblogs.com/gccbuaa/p/7162280.html
内容总结
以上是互联网集市为您收集整理的System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。全部内容,希望文章能够帮你解决System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。