我正在做一個學習項目,我想將Html + Razor與它連接到數據庫。將html頁面+剃刀連接到數據庫
步驟I跟着。
創建一個樣表(這是我打算使用以執行 「插入」 和 「更新」 查詢)
創建的數據庫(名稱:TestDatabase.mdf,位於內側的App_Data)
- 把一些樣本值在數據庫中的表名「學生」
更新webconfig文件如下
(的ConnectionString被COPYIN獲得摹從數據庫資源管理器)
<connectionStrings> <add name="TestDatabase" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TestDatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlServerCe.4.0" /> </connectionStrings>
插入剃刀代碼連接如下
@{ var db = Database.Open("TestDatabase"); var query = "Select * Student"; } <html> <head> <title>Testing For Database Connectivity</title> </head> <body> <div> <fieldset> <legend>Some Sample Form</legend> <form> <div> <label for="FirstName">FirstName</label> <input type="text" name="FirstName" /> </div> <div> <label for="LastName">LastName</label> <input type="text" name="LastName" /> </div> <div> <label for="SSN">SSN</label> <input type="text" name="SSN" /> </div> <div> <input type="submit" value="submit" /> </div> <div> @foreach (var row in db.Query(query)) { @row.FirstName <br /> } </div> </form> </fieldset> </div> </body> </html>
但我收到以下錯誤
堆棧跟蹤
[ArgumentException: Keyword not supported: 'attachdbfilename'.]
System.Data.SqlServerCe.SqlCeConnectionStringBuilder.GetIndex(String keyword) +192
System.Data.SqlServerCe.SqlCeConnectionStringBuilder.set_Item(String keyword, Object value) +31
System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value) +185
System.Data.SqlServerCe.SqlCeConnectionStringBuilder..ctor(String connectionString) +177
System.Data.SqlServerCe.SqlCeConnection.set_ConnectionString(String value) +239
WebMatrix.Data.DbProviderFactoryWrapper.CreateConnection(String connectionString) +96
WebMatrix.Data.<>c__DisplayClass15.<OpenConnectionStringInternal>b__14() +16
WebMatrix.Data.Database.get_Connection() +19
WebMatrix.Data.Database.EnsureConnectionOpen() +12
WebMatrix.Data.<QueryInternal>d__0.MoveNext() +71
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +327
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
WebMatrix.Data.Database.Query(String commandText, Object[] parameters) +103
ASP._Page_TestPage_cshtml.Execute() in d:\ASP.NET\RefreshTesting\TestPage.cshtml:33
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +209
System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors) +68
System.Web.WebPages.WebPage.ExecutePageHierarchy() +152
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +121
錯誤頁面圖像
我想非常清楚,言之有物,但如果我錯過了提東西,那麼請讓我知道。
我現在不知道我哪裏出錯或者我犯了一個愚蠢的錯誤,現在我甚至懷疑這是否可能。我是微軟語言的新手,我觀看了一些使用MVC的Youtube視頻來實現它。是否有可能按照我所做的方式做到這一點?如果是,請幫助我,如果沒有,那麼我可能的選擇是什麼?
okay我嘗試了你建議的方法,但仍然不成功
步驟如何我最初創建數據庫
1.右鍵單擊App_Data - >添加新項 - > Sql Server數據庫
2.打開它的屬性和複製連接字符串
我做了以下修改和嘗試,但它仍然給錯誤
我甚至創造了**。**自衛隊數據庫和更新連接字符串,但它仍然給錯誤 –
你得到什麼錯誤,當你改變了提供者名稱web.config? –