注册 登录
编程论坛 ASP.NET技术论坛

在关键字 'user' 附近有语法错误。

发布于 2008-06-14 15:39, 1677 次点击
DBConnection.cs中
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
/// DBConnection 的摘要说明
/// </summary>
public class DBConnection
{
    SqlConnection conn;
    SqlCommand cmd;
    SqlDataReader dr;
    SqlDataAdapter da;
    public string strSqlConn;
    public DBConnection()
    {
        conn = new SqlConnection(ConfigurationManager.AppSettings["ConnStr"]);
        conn.Open();
    }
    public DBConnection(string cstr)
    {
        conn = new SqlConnection(cstr);
        conn.Open();
    }
    public SqlDataReader ExecuteReader(string sql)
    {
        cmd = new SqlCommand(sql, conn);
        dr = cmd.ExecuteReader();
        return dr;
    }
    public void ExecuteNonQuery(string sql)
    {
        cmd = new SqlCommand(sql, conn);
        cmd.ExecuteNonQuery();
    }
    public void Updata(string sql)
    {
        cmd = new SqlCommand(sql, conn);
        cmd.ExecuteNonQuery();
    }
    public ICollection CreateSource(string sql)
    {
        da = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, "mytable");
        return ds.Tables["mytable"].DefaultView;
    }

}
register.aspx.cs中
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;

using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using
using System.Drawing;
using System.Web.SessionState;
public partial class Default3 : System.Web.UI.Page
{
    public DBConnection conn = new DBConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    protected void Button2_Click(object sender, EventArgs e)
    {     string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.ToString(), "MD5");
         String username, password, sex, question, answer, email, checkcode, sql;
        SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);//数据库连接的类
        username = TextBox1.Text;
        password = EnPswdStr;
        sex = Radio.SelectedItem.Value;
       email = TextBox4.Text;
        question = TextBox13.Text;
        answer = TextBox14.Text;
        checkcode = TextBox6.Text;
        sql = "select * from user where username='" + username + "'";
        SqlDataReader dr = conn.ExecuteReader(sql);//返回结果集
        while (dr.Read())
        {
            Response.Write("<script language='JavaScript'>");
            Response.Write("alert('此会员名已存在!请重新输入一个!')");
            Response.Write("</script>");
            TextBox1.Text = "";
            TextBox6.Text = "";
            return;
        }
        dr.Close();
        if (Session["CheckCode"].ToString() != checkcode)
        {
            Response.Write("<script language='JavaScript'>");
            Response.Write("alert('输入的验证码有误!请重新输入!')");
            Response.Write("</script>");
            return;
        }
        sql = "Insert into user(username,userpwd,sex,question,answer,email) values('" + username +  "','" + password + "','" + sex + "','" + question + "','" + answer + "','" + email + "')";
        /*SqlCommand command=new SqlCommand (sql,connection);//构造执行数据库命令
        connection.Open();//打开数据库
        command.ExecuteNonQuery();//执行语句
        connection.Close();*/
        conn.Updata(sql);
        Response.Write("<script language='JavaScript'>");
        Response.Write("alert('注册成功!');");
        Response.Write("window.open('main.aspx');</script>");
    }


}
webconfig中
<appSettings>
  <!-- 数据库连接字符串 -->
  <!-- <add key="ConnStr" value="Data Source=127.0.0.1;database=BBS;UID=sa;Password=;Persist Security Info=True;" /> -->
  <add key="ConnStr" value="Data Source=127.0.0.1;database=BBS;UID=sa;Password=;Persist Security Info=True;"/>
  </appSettings>
执行后总是出现在关键字 'user' 附近有语法错误。????
3 回复
#2
雪雨星风2008-06-14 15:49
user是关键字  应该加[user]
#3
tomtory2008-06-14 15:52
楼上已经解决
user是数据库系统关键字

需要修改为[user]
#4
2008-06-14 16:12
谢谢!!
1