2015-04-01 36 views
0

我正在創建一個需要留言簿的應用程序。來自數據庫的數據顯示在網站上,但是我從網站輸入的任何數據都不會自動放入數據庫。爲什麼我的留言簿應用程序中的數據未保存到數據庫中?

這裏是我的代碼..

Protected Sub ButSign_Click(sender As Object, e As EventArgs) Handles ButSign.Click 

Dim strDSN As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & " 
Data source=C:\USERS\SHAUNA WATSON\DESKTOP\PROJECT COPIES\FINAL\APP_DATA\FACTORY.MDF" 

Dim strSQL As String = (((("INSERT INTO Guestbook " & "(Name,Address,Email,Comments)" & "VALUES ('") 
+ TxtName.Text.ToString() & " ',' ") + TxtAddress.Text.ToString() & " ', '") + TxtEmail.Text.ToString() & " ',' ") + TxtComments.Text.ToString() & " ')" 


    ' set Access connection and select strings 

    ' Create oleDbDataAdapter 
    Dim myConn As New OleDbConnection(strDSN) 

    'Create ole Db Command And call ExecuteNonQuery to execute 
    ' a SQL statement 

    Dim myCmd As New OleDbCommand(strSQL, myConn) 

    Try 
     myConn.Open() 
     myCmd.ExecuteNonQuery() 
    Catch exp As Exception 
     Console.WriteLine("Error: {0}", exp.Message) 
    End Try 
    myConn.Close() 
    ' open Thans.aspx page after adding entries to the guest book 
    Response.Redirect("GuestbookThanks.aspx") 
End Sub 

我只是想知道如果任何人能發現我的東西可能已經錯過了!

+0

您的標題沒有傳達有用的信息。我修正了這一點。 – 2015-04-01 16:17:23

+0

您只是將錯誤寫入控制檯,但我懷疑您是否正在檢查控制檯,因爲這是ASP.NET。您應該記錄該錯誤,或​​將其顯示給用戶(用於測試目的)。然後你會得到你所尋求的信息。 – mason 2015-04-01 16:41:34

+0

我看着我的水晶球,我看到一個文件權限問題。運行網站後端代碼的用戶很可能無法訪問您的桌面。你知道,安全和所有。另外,在構建您的SQL字符串的代碼行中有一些不必要的括號。 – Jeremy 2015-04-01 16:44:20

回答

0

你可以試着改變你的代碼,以這樣的:

myConn.Open() 
    Dim myCmd As New OleDbCommand 
    With myCmd 
     .Connection = myConn 
     .CommandType = CommandType.Text 
     .CommandText = "INSERT INTO Guestbook (Name,Address,Email,Comments) VALUES (@Name,@Address,@Email,@Comments)" 
     .Parameters.Add("@Name", OleDbType.VarChar).Value = TxtName.Text 
     .Parameters.Add("@Address", OleDbType.VarChar).Value = TxtAddress.Text 
     .Parameters.Add("@Email", OleDbType.VarChar).Value = TxtEmail.Text 
     .Parameters.Add("@Comments", OleDbType.VarChar).Value = TxtComments.Text 
    End With 
    myCmd.ExecuteNonQuery() 
    myConn.Close() 

不要把這個try塊。如果您發現錯誤,請將其發佈,然後我們會看到錯誤是什麼。

+0

它的工作!謝謝你的幫助 :) – Shauna91 2015-04-02 12:39:40

相關問題