2014-02-13 212 views
0

這是我的錯誤無效的對象名稱

Invalid object name 'userdatabase' 

這是源錯誤代碼

enter code here 
Line 27: 
Line 28:    User.Open(); 
Line 29:    xp.ExecuteNonQuery(); 
Line 30:    User.Close(); 
Line 31: 

這是堆棧跟蹤

[SqlException (0x80131904): Invalid object name 'userdatabase'.] 

System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean  breakConnection, Action`1 wrapCloseInAction) +1789270 

System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5340622 

System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +244 

System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1691 

System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +275 

System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +1421 

System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +177 

System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) +208 

System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +163 
    Default2.Button1_Click(Object sender, EventArgs e) in c:\Users\Calum Barnett\Documents\Visual Studio 2013\WebSites\WebSite3\Default2.aspx.cs:29 

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9614758 

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103 
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724 
` 

這是cs碼:

using System;  
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 


public partial class Default2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Page.IsPostBack == true) 
     { 
      Label1.Text = ("**Registration Succesful"); 
     } 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     SqlConnection User = new SqlConnection("Data Source=TOSHIBA0007\\TESTSERVER;Integrated Security=True"); 
     { 
      SqlCommand xp = new SqlCommand("Insert into userdatabase(Username, Email, Password)Values(@Username, @Email, @Password)", User); 
      xp.Parameters.AddWithValue("@Username", InputUsername.Text); 
      xp.Parameters.AddWithValue("@Email", InputEmail.Text); 
      xp.Parameters.AddWithValue("@Password", InputPassword.Text); 

      User.Open(); 
      xp.ExecuteNonQuery(); 
      User.Close(); 

      if (IsPostBack) 
      { 
       InputUsername.Text = ""; 
       InputPassword.Text = ""; 
       InputEmail.Text = ""; 
       VerifyPassword.Text = ""; 

      }  
     }    
     } 
    } 

任何幫助表示讚賞,因爲我是這些類型的錯誤的初學者。

+0

你真的有這樣的表? – SLaks

+0

您未在連接字符串中設置默認數據庫(「初始目錄」)。 – Keith

+0

哦,那是不是意味着搞砸 – CalumB

回答

0

似乎是錯誤的表名userdatabase或表名不匹配......

SqlCommand xp = new SqlCommand("Insert into userdatabase(Username, Email, 
    Password)Values(@Username, @Email, @Password)", User); 
       xp.Parameters.AddWithValue("@Username", InputUsername.Text); 
       xp.Parameters.AddWithValue("@Email", InputEmail.Text); 
       xp.Parameters.AddWithValue("@Password", InputPassword.Text);