0

MSAccessDbをasp.netWebサイトに接続しようとしています。コードを(ローカルホストでのみ)実行すると、エラーや例外は表示されませんが、サーバーが応答するのを待つだけです。私は次のコードです:

 string connection = "Provider =Microsoft.ACE.OLEDB.12.0; datasource=I:/Adittya/test.accdb";

        string query = "select * from test";
        OleDbConnection con = new OleDbConnection(connection);
        OleDbCommand cmd = new OleDbCommand();
        cmd.CommandText = query;
        cmd.CommandType = CommandType.Text;
        OleDbDataReader dr = cmd.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Load(dr);

        testGrid.DataSource = dt;
        testGrid.DataBind();

私のDBは、場所が静的なペンドライブにもう1つあります。

コードに問題がありますか、それともペンドライブにあるDBに接続できませんか。

4

3 に答える 3

4

コードに問題があります。コマンドオブジェクトへの接続を設定しておらず、接続も開いていません。以下のコードは私のために働いています。これを試して

    string connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Test1.accdb";

    string query = "select * from [Table]";
    OleDbConnection con = new OleDbConnection(connection);
    OleDbCommand cmd = new OleDbCommand();     
    cmd.CommandText = query;
    cmd.CommandType = CommandType.Text;
    cmd.Connection = con;
    con.Open();
    OleDbDataReader dr = cmd.ExecuteReader();
    DataTable dt = new DataTable();
    dt.Load(dr);
    con.Close();
    testGrid.DataSource = dt;
    testGrid.DataBind();

または SqlDataSource を使用してこのソリューションを試す

例: テスト用の Acess データベースを作成し、正常に動作している Sql データソースを使用しました。この解決策を試してください

<connectionStrings>       
    <add name="ConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Test1.accdb"
        providerName="System.Data.OleDb" />
  </connectionStrings>
 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$     ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Table]"></asp:SqlDataSource>
 <asp:GridView ID="GridView1" DataSourceID="SqlDataSource1" runat="server"></asp:GridView>

それは私にとってはうまくいっています。

于 2012-07-07T05:21:55.640 に答える
1

データソースを次のように試してください

datasource=I:\\Adittya\\test.accdb
于 2012-07-07T05:15:11.533 に答える