System.AccessViolationException类型的未经处理的异常在System.Data.dll中发

System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其他信息:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

错误背景:

操作系统:编程环境:VS2013;  语言:VB.net;  数据库:SQLserver2008

做数据库连接时,发生的错误:

错误提示为:

说明:用VB.net连接SQLServer数据库

第一种情况:

连接字符串为“Server=(Local);Database=charge_sys;UserID = sa;Password=123456”时,连接没问题;

第二种情况:

当把“ Server=(Local)”换为 “ Server=192.168.24.123 ”,即把local换为数据库服务器IP地址时,连接不成功,出现如上错误(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值不同

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, string
, as
, username
, conn
, vb2013
password
未经处理的win32异常、发生了未经处理的异常、处有未经处理的异常、未经处理的异常、发生未经处理的异常,以便于您获取更多的相关知识。

时间: 2024-09-30 05:25:45

System.AccessViolationException类型的未经处理的异常在System.Data.dll中发的相关文章

急求大神帮助!!C#调用C++dllSystem.AccessViolationException”类型的未经处理的异常出现在 mscorlib.dll 中。

问题描述 "System.AccessViolationException"类型的未经处理的异常出现在mscorlib.dll中.其他信息:尝试读取或写入受保护的内存.这通常指示其他内存已损坏.代码如下//////C++dll代码HWNDhWnd;extern"C"__declspec(dllexport)voidcOSG(HWNDmhWnd){hWnd=mhWnd;}extern"C"__declspec(dllexport)voidInitO

“System.ArgumentException”类型的未经处理的异常出现在 mscorlib.dll 中。 其他信息: 实例方法的委托不能具有空“this

问题描述 本人在做数据库课设,没有学过C#,只学过C和C++,做一个简易聊天室今天在连接数据库时,调试出了问题,而错误列表没有出,不知何处下手,求C#大神帮忙以下是代码namespace登录界面{partialclassForm1{///<summary>///必需的设计器变量.///</summary>privateSystem.ComponentModel.IContainercomponents=null;///<summary>///清理所有正在使用的资源.//

System.NullReferenceException”类型的未经处理的异常

问题描述 各位大神,在按钮中,为什么会报错.但是结果照样会写到txt中,而MessageBox.Show就显示不出来了,直接报错,求如何改进的办法.谢谢privatevoidbutton3_Click(objectsender,EventArgse){using(StreamWritersk=newStreamWriter(textBox4.Text+"Export_To_Text.txt",false,Encoding.GetEncoding("Unicode")

“System.NullReferenceException”类型的未经处理的异常

问题描述 这个情况怎么处理啊是不是调用这边有问题?privatevoidbutton2_Click(objectsender,EventArgse){DataToExcel(dataGridView1);} 解决方案 本帖最后由 amoypower 于 2016-06-01 14:54:44 编辑解决方案二:可能dgv[i,j].Value为null了.解决方案三:privatevoiddataGridView1_RowPostPaint(objectsender,DataGridViewRow

“System.StackOverflowException”类型的未经处理的异常出现在 System.Drawing.dll 中。

问题描述 以上是我的程序,然后一运行出错,错误如下:经常会出现这样的错误System.Data.SQLite.SQLiteException(0x8000405):outofmemory有的时候又能运行成功,但是一直找不到解决的办法?也知道具体哪儿错误了? 解决方案 解决方案二:还是调试一下你的for循环,错误是堆栈溢出,估计for循环出不来了

“System.Data.OleDb.OleDbException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: 找不到文件

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Data.OleDb;namespaceyy

System.NullReferenceException”类型的未经处理的异常出现在 WindowsFormsApplication2.exe 中。

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApp

“System.Data.OleDb.OleDbException”类型的未经处理的异常出现在 LSCommonHelper.dll 中。

问题描述 publicstaticDataSetgetDataSet(stringsqlStr,stringsTable){DataSetset2;OleDbConnectionselectConnection=getConn();try{//selectConnection.Open();OleDbDataAdapteradapter=newOleDbDataAdapter(sqlStr,selectConnection);DataSetdataSet=newDataSet();if(data

MySQL连接数据库时出现ArgumentNullException异常在 MySql.Data.dll 中发生

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingMySql.Data.MySqlClient;usingSystem.Data;namespaceSellingSystem{classstucls{MySqlConnectiontconn=newMySqlConnection();MySqlDataAdapterm