这是我的Registration.aspx
文件的编码。每当我点击提交,我都会
System.Data.sqlclient.sqlexception:关键字'表'
附近的语法不正确
这是代码部分。
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;
using System.Configuration;
public partial class Registration : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
// This is the part im getting error in.
string checkuser = "select count(*) from Table where UserName ='" + uname.Text + "'";
SqlCommand com = new SqlCommand(checkuser, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
if (temp == 1)
{
Response.Write("User Already Exists");
}
conn.Close();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
string insertQuery = "insert into Table (UserName,Email,Password,Country) values (@uname ,@email ,@pass ,@country)";
SqlCommand com = new SqlCommand(insertQuery, conn);
com.Parameters.AddWithValue("@uname", uname.Text);
com.Parameters.AddWithValue("@email", email.Text);
com.Parameters.AddWithValue("@pass", pwd.Text);
com.Parameters.AddWithValue("@country", DropDownList1.SelectedItem.ToString());
com.ExecuteNonQuery();
Response.Redirect("Manager.aspx");
Response.Write("Registration Successful");
conn.Close();
}
catch (Exception ex)
{
Response.Write("Error:" + ex.ToString());
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
答案 0 :(得分:1)
Table
是保留字,在这两个查询中使用括号:
"select count(*) from [Table] where UserName ='" + uname.Text + "'";
"insert into [Table] (UserName,Email,Password,Country) values (@uname ,@email ,@pass ,@country)";
答案 1 :(得分:0)
表是一个关键字,所以我不能在这个上下文中使用,所以请确保你的SQL查询是正确的
并且mysql不使用
using System.Data.SqlClient;
答案 2 :(得分:0)
更改您的查询,如下所示
string insertQuery = "insert into [Table] (`UserName`,`Email`,`Password`,`Country`) values (@uname ,@email ,@pass ,@country)";