2017-02-12 65 views
1

我使用Visual Studio 2015創建註冊表單,但是當我運行我的代碼時會發生一些問題。我收到錯誤的波紋管說:註冊表中的錯誤代碼

Error Description

我無法找到我的代碼的問題:

private void execution(string RNumber, string fname, string lname, string Password, string Gender, string CPassword, string Email) 
{ 
    SqlConnection conn = new SqlConnection(GetConnectionString()); 
    string sql = "INSERT INTO Table(RNumber, fname, lname, Password, Gender, CPassword, Email) VALUES " 
    + " (@RNumber, @fname, @lname, @Password, @Gender, @CPassword, @Email)"; 
    try 
    { 
     conn.Open(); 
     SqlCommand cmd = new SqlCommand(sql, conn); 
     SqlParameter[] pram = new SqlParameter[7]; 
     pram[0] = new SqlParameter("@RNumber", SqlDbType.VarChar, 50); 
     pram[1] = new SqlParameter("@fname", SqlDbType.VarChar, 50); 
     pram[2] = new SqlParameter("@lname", SqlDbType.VarChar, 50); 
     pram[3] = new SqlParameter("@Password", SqlDbType.VarChar, 50); 
     pram[4] = new SqlParameter("@Gender", SqlDbType.VarChar, 50); 
     pram[5] = new SqlParameter("@CPassword", SqlDbType.VarChar, 50); 
     pram[6] = new SqlParameter("@Email", SqlDbType.VarChar, 50); 
     pram[0].Value = RNumber; 
     pram[1].Value = fname; 
     pram[2].Value = lname; 
     pram[3].Value = Password; 
     pram[4].Value = Gender; 
     pram[5].Value = CPassword; 
     pram[6].Value = Email; 
     for (int i = 0; i < pram.Length; i++) 
     { 
      cmd.Parameters.Add(pram[i]); 
     } 
     cmd.CommandType = CommandType.Text; 
     cmd.ExecuteNonQuery(); 
    } 
    catch (System.Data.SqlClient.SqlException ex_msg) 
    { 
     string msg = "Error occured while inserting"; 
     msg += ex_msg.Message; 
     throw new Exception(msg); 
    } 
    finally 
    { 
     //Here will be fially elements 
     conn.Close(); 
    } 

} 
protected void Page_Load(object sender, EventArgs e) 
{ 
    this.UnobtrusiveValidationMode = System.Web.UI.UnobtrusiveValidationMode.None; 
} 


protected void Buttonsubmit_Click(object sender, EventArgs e) 
{ 
    if (TextBoxregstr.Text == "") 
    { 
     Response.Write("Please complete the form."); 
    } 
    else 
    { 
     execution(TextBoxregstr.Text, TextBoxfirst.Text, TextBoxlast.Text, TextBoxpswrd.Text, TextBoxcnfrmpswrd.Text, TextBoxgender.Text, TextBoxemail.Text); 
     Confirm.Visible = true; 
     TextBoxfirst.Text = ""; 
     TextBoxlast.Text = ""; 
     TextBoxpswrd.Text = ""; 
     TextBoxgender.Text = ""; 
     TextBoxcnfrmpswrd.Text = ""; 
     TextBoxemail.Text = ""; 
     TextBoxregstr.Text = ""; 

    } 
} 
+0

驗證在你要插入表格的名稱。這是對的嗎? –

回答

1

由於錯誤指示,

不正確的語法關鍵字附近'表'

它Happe的ns,因爲是用於T-SQL的reserved keyword。您的查詢應該附上表中括號內square

string sql = "INSERT INTO [Table] 

更好的方法來處理是你改變了名稱,並使用一個更具描述性的詞表