Connection.Close()错误ASP.NET
这是我发现的一个简单的数据插入脚本,它正在写入access.db。下面的代码是我遇到的问题: 错误:第16行:连接。打开 如果你能让我知道我应该用什么来编辑代码,那就太好了 非常感谢Connection.Close()错误ASP.NET,asp.net,database,connection,Asp.net,Database,Connection,这是我发现的一个简单的数据插入脚本,它正在写入access.db。下面的代码是我遇到的问题: 错误:第16行:连接。打开 如果你能让我知道我应该用什么来编辑代码,那就太好了 非常感谢 <%@ Page Language="VB" Debug="true"%> <%@ Import Namespace="System.Data.Oledb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona
<%@ Page Language="VB" Debug="true"%>
<%@ Import Namespace="System.Data.Oledb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Page.IsPostBack = False Then
Label1.Visible = False
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Connection As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=C:\inetpub\wwwroot\Thinkdebt\customers.mdb")
Connection.Open()
Dim Command As New OleDbCommand("INSERT INTO tblCustomers(FirstName," & _
"LastName)VALUES(@FirstName,@LastName)", Connection)
Command.Parameters.Add(New OleDbParameter("@FirstName", TextBox1.Text))
Command.Parameters.Add(New OleDbParameter("@LastName", TextBox2.Text))
Command.ExecuteNonQuery()
Connection.Close()
Label1.Text = "Record inserted."
Label1.Visible = True
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id=Head1 runat="server">
<title>ASP.NET Form to Database Sample</title>
</head>
<body>
<div>
<h1>ASP.NET Form to Database</h1>
<form id="form1" runat="server">
First name:<asp:TextBox ID="TextBox1" runat="server" Text=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Please enter a first name"></asp:RequiredFieldValidator><br /><br />
Last name:<asp:TextBox ID="TextBox2" runat="server" Text=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="TextBox2" runat="server" ErrorMessage="Please enter a last name"></asp:RequiredFieldValidator><br /><br />
<asp:Button ID=Button1 runat="server" Text="Insert Record" OnClick="Button1_Click" />
<br />
<asp:Label ID=Label1 runat="server" Text=""></asp:Label>
</form>
</div>
</body>
</html>
jet.Oledb.4.0不适用于64位机器
您可以在64位系统中使用Microsoft.ACE.OLEDB.12.0。您可以检查它是32位还是64位系统。如果32位然后使用.JET.OLEDB,否则使用ACE.OLEDB。您使用的是JET.OLEDB.4.0驱动程序,在64位系统上运行时会出现错误,最好安装新的驱动程序Microsoft Access Database Engine 2010可再发行 您还需要将连接字符串从“Provider=Microsoft.Jet.OLEDB.4.0;”更改为“Provider=Microsoft.ACE.OLEDB.12.0;” 我的博客参考:64位版本的“Microsoft.Jet.OLEDB.4.0”Office 2007/2010 Jet驱动程序
希望这能有所帮助。本地计算机上未注册“Microsoft.Jet.Oledb.4.0”提供程序。第16行:Connection.Open非常感谢您的关注,我实际上通过将32位分区从False启用为True来更改应用程序池设置,并解决了问题。如果这能让您找到解决方案,我将非常高兴。