1

.cshtml カミソリ ページのテーブルに表示したい値でいっぱいの Microsoft Access データベース (.accdb) があります。接続を開き、値を含むテーブルを作成する必要があります。

テーブルは次のようになると思います。

<table>
        <thead>
            <tr>
                <th>Name</th>
                <th>Address</th>
                <th>Address 2</th>
                <th>Field of Work</th>
            </tr>
        </thead>

       <tbody>
            @foreach (var row in _____.Query(____))
            {
                <tr>
                    <td>@row.name</td>
                    <td>@row.address</td>
                    <td>@row.address2</td>
                    <td>@row.field</td>
                </tr>
            }
        </tbody>
  </table>

、しかし、接続を正しく開くことができませんでした。

アドバイスをお願いします。

4

1 に答える 1

3

Access を使用している場合は、データベース ファイルを App_Data に配置し、web.config ファイルで接続文字列を指定する必要があります。

<connectionStrings>
    <add name="MyConnection" 
      connectionString="Provider="Microsoft.ACE.OleDb.12.0;Data Source=|DataDirectory|MyDatabase.accdb;" 
      providerName="System.Data.OleDb" />
</connectionStrings>

|DataDirectory|は、App_Data フォルダーの場所に解決される特別なショートカットです。

データベース ヘルパーを使用する場合は、接続文字列の名前を渡します。

var db = Database.Open("MyConnection");
var data = db.Query("SELECT * FROM MyTable");
...
...
<tbody>
    @foreach (var row in data){
        <tr>
            <td>@row.name</td>
            <td>@row.address</td>
            <td>@row.address2</td>
            <td>@row.field</td>
        </tr>
    }
</tbody>

ただし、MVC を使用している場合、データベースのオープンとクエリはビューで行われません。これはコントローラーで行うか、できればデータ層で行う必要があります。または、データ アクセス コードがビューに属している ASP.NET Web ページを確認することもできます: http://asp.net/web-pages

于 2013-10-06T07:26:11.413 に答える