ASP.Net插入从文本框数据到数据库 [英] ASP.Net insert data from Textbox to a database

查看:136
本文介绍了ASP.Net插入从文本框数据到数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着从一个文本框数据插入到我的数据库,它扔我一个例外。


  

异常详细信息:System.Data.SqlClient.SqlException:附近'测试'的语法不正确


我以前presents我的code,虽然一些细节:
我的数据库名为:电影
我叫表中的数据:用户
我有这样的栏目:名字,姓氏等......


  

保护无效Register_Click(对象发件人,EventArgs的发送)
          {
              SqlConnection的连接=新的SqlConnection(数据源= MICROSOF-58B8A5 \\ SQL_SERVER_R2;初始目录=电影;集成安全性=真);


  connection.Open();
        //名字***********
        字符串的firstName = FirstNameTextBox.Text;
        字符串的SQLQuery =(INSERT INTO [网友](名字)VALUES('+ FirstNameTextBox.Text +');        的SqlCommand命令=新的SqlCommand(sqlquery的,连接);
        command.Parameters.AddWithValue(名字,名字);
        //姓************
        字符串的lastName = LastNameTextBox.Text;
        的SQLQuery =(INSERT INTO [网友](姓氏)VALUES('+ LastNameTextBox.Text +');
        command.Parameters.AddWithValue(姓氏,姓氏);
        //用户名*************
        字符串的用户名= UsernameTextBox.Text;
        的SQLQuery =(INSERT INTO [用户](用户名)VALUES('+ UsernameTextBox.Text +');
        command.Parameters.AddWithValue(用户名的用户名);
        //密码*************
        字符串密码= PasswordTextBox.Text;
        的SQLQuery =(INSERT INTO [网友](密码)VALUES('+ PasswordTextBox.Text +');
        command.Parameters.AddWithValue(密码,密码);
        如果(PasswordTextBox.Text == ReTypePassword.Text)
        {
            command.ExecuteNonQuery();
        }
        其他
        {
            ErrorLabel.Text =对不起,你没有正确键入密码请重新输入。
        }        connection.close()时;
    }


解决方案

使用一个查询,并使用 @ParamName

 字符串的SQLQuery =INSERT INTO [用户](名字,姓氏,用户名,密码)VALUES(@名字,姓氏@,​​@用户名,密码@);
    的SqlCommand命令=新的SqlCommand(sqlquery的,连接);    //名字***********
    字符串的firstName = FirstNameTextBox.Text;
    command.Parameters.AddWithValue(名字,名字);
    //姓************
    字符串的lastName = LastNameTextBox.Text;
    command.Parameters.AddWithValue(姓氏,姓氏);
    //用户名*************
    字符串的用户名= UsernameTextBox.Text;
    command.Parameters.AddWithValue(用户名的用户名);
    //密码*************
    字符串密码= PasswordTextBox.Text;
    command.Parameters.AddWithValue(密码,密码);    ...........

Im trying to insert data from a textbox to my database, and it throwing me an exception.

Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near ' test'.

a few details before I presents my code though : my database called : Movies my table data called: Users and I have columns such as : "FirstName", "LastName" etc...

protected void Register_Click(object sender, EventArgs e) { SqlConnection connection = new SqlConnection("Data Source=MICROSOF-58B8A5\SQL_SERVER_R2;Initial Catalog=Movie;Integrated Security=True");

        connection.Open();
        //FirstName***********
        string firstName = FirstNameTextBox.Text;
        string sqlquery = ("INSERT INTO [Users] (FirstName) VALUES (' " +FirstNameTextBox.Text + " ' ");

        SqlCommand command = new SqlCommand(sqlquery , connection);
        command.Parameters.AddWithValue("FirstName", firstName);
        //LastName************
        string lastName = LastNameTextBox.Text;
        sqlquery = ("INSERT INTO [Users] (LastName) VALUES (' " + LastNameTextBox.Text+ " ' ");
        command.Parameters.AddWithValue("LastName", lastName);
        //Username*************
        string username = UsernameTextBox.Text;
        sqlquery = ("INSERT INTO [Users] (Username) VALUES (' " + UsernameTextBox.Text+ " ' ");
        command.Parameters.AddWithValue("UserName", username);
        //Password*************
        string password = PasswordTextBox.Text;
        sqlquery = ("INSERT INTO [Users] (Password) VALUES (' " + PasswordTextBox.Text + " ' ");
        command.Parameters.AddWithValue("Password", password);
        if (PasswordTextBox.Text == ReTypePassword.Text)
        {
            command.ExecuteNonQuery();
        }
        else
        {
            ErrorLabel.Text = "Sorry, You didnt typed your password correctly.  Please type again.";
        }

        connection.Close();
    }

解决方案

Use one query and use @ParamName:

    string sqlquery = "INSERT INTO [Users] (FirstName,LastName,UserName,Password) VALUES (@FirstName,@LastName,@UserName,@Password)";
    SqlCommand command = new SqlCommand(sqlquery , connection);

    //FirstName***********
    string firstName = FirstNameTextBox.Text;
    command.Parameters.AddWithValue("FirstName", firstName);
    //LastName************
    string lastName = LastNameTextBox.Text;     
    command.Parameters.AddWithValue("LastName", lastName);
    //Username*************
    string username = UsernameTextBox.Text;     
    command.Parameters.AddWithValue("UserName", username);
    //Password*************
    string password = PasswordTextBox.Text;    
    command.Parameters.AddWithValue("Password", password);

    ...........

这篇关于ASP.Net插入从文本框数据到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆