2016-08-31 4 views
1

Ich erstelle eine einfache Registrierungsseite und bekomme einen Fehler, der meiner Meinung nach damit zu tun hat, dass ich die Tabelle, die ich erstellt habe, nicht finden kann, aber ich habe sie lokal erstellt. Hierasp.net Registrierungsseite funktioniert nicht richtig

ist der Fehler, den ich bekommen:

Eine Ausnahme vom Typ 'System.Data.SqlClient.SqlException' aufgetreten in System.Data.dll wurde aber nicht in Benutzercode behandelt

Zusatz Information: Falsche Syntax in der Nähe des Schlüsselwortes 'Table'.

Jede Hilfe wäre fantastisch.

Im Folgenden werde ich den Code geschrieben haben, dass ich so weit unten:

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

public partial class Register : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostBack) 
     { 
      SqlConnection conn = 
       new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 
      conn.Open(); 
      string checkuser = userchecker(); 
      SqlCommand com = new SqlCommand(checkuser, conn); 
      int temp = changehere(com); 
      conn.Close(); 
      if (temp == 1) 
      { 
       Response.Write("User Already Exists"); 
      } 

     } 
    } 

    private string userchecker() 
    { 
     return "select count(*) from Table where UserName='" + TextBoxUN.Text + "'"; 
    } 

    private static int changehere(SqlCommand com) 
    { 
     return Convert.ToInt32(com.ExecuteScalar().ToString()); 
    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      Guid NEWguid = Guid.NewGuid(); 

      SqlConnection conn = 
       new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 
      conn.Open(); 
      string insertQuery = "insert into Table (ID, UserName, Email, Password) values (@ID, @Uname , @email, @password)"; 
      SqlCommand com = new SqlCommand(insertQuery, conn); 
      com.Parameters.AddWithValue("@ID", NEWguid.ToString()); 
      com.Parameters.AddWithValue("@Uname", TextBoxUN.Text); 
      com.Parameters.AddWithValue("@email", TextBoxEmail.Text); 
      com.Parameters.AddWithValue("@password", TextBoxPass.Text); 
      com.ExecuteNonQuery(); 
      Response.Redirect("manager.aspx"); 
      Response.Write("Registration successful"); 
      conn.Close(); 
     } 
     catch (Exception) 
     { 
      Response.Write("Error:"); 
     } 
    } 

    protected void TextBoxEmail_TextChanged(object sender, EventArgs e) 
    { 

    } 
} 
+0

Wie lautet Ihr Tabellenname? – SilentCoder

+0

dbo.Table ist mein Tabellenname – bootle

+0

, wenn Sie diese Ausnahme erhalten? in userchecker()? – Forlani

Antwort

1

Versuchen Sie folgendes:

private string userchecker() 
{ 
    return "select count(*) from [Table] where UserName='" + TextBoxUN.Text + "'"; 
} 

Siehe die [] um Table, dies ist, weil Tabelle ein reserviertes Wort in allen SQL-Varianten ist und Sie sollten es

entkommen
+0

immer etwas klein .... – bootle

+0

danke !!!!!! – bootle

+0

immer klein .. froh zu helfen! – Forlani

1

Ändern Sie den Namen der Tabelle, Tabelle ist ein reserviertes Wort in SQL

+0

woooooooooow danke Kumpel - immer etwas klein .... – bootle