1

これは、私が見つけた単純なデータ挿入スクリプトで、access.db に書き込みます。以下のコードで発生している問題は次のとおりです。

エラー: 16 行目: Connection.Open()

コードで何を編集すればよいか教えていただければ幸いです。

どうもありがとう

    <%@ 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>
4

2 に答える 2

0

jet.Oledb.4.0は64ビットマシンでは機能しません。

64ビットシステムにはMicrosoft.ACE.OLEDB.12.0を使用できます。32ビットシステムか64ビットシステムかを確認できます。32ビットの場合は.JET.OLEDBを使用し、そうでない場合はACE.OLEDBを使用します。

于 2012-12-17T23:27:50.490 に答える
-1

Jet.OLEDB.4.0 ドライバーを使用しているため、64 ビット システムで実行するとエラーが発生します。新しいドライバー Microsoft Access Database Engine 2010 Redistributable をインストールすることをお勧めします。

http://www.microsoft.com/download/en/details.aspx?id=13255

また、接続文字列を「Provider=Microsoft.Jet.OLEDB.4.0;」から変更する必要があります。「Provider=Microsoft.ACE.OLEDB.12.0;」に</p>

私のブログからの参照: 'Microsoft.Jet.OLEDB.4.0' Office 2007/2010 Jet ドライバーの 64 ビット バージョン

お役に立てれば。

于 2012-12-17T23:35:36.860 に答える