我试图将数据从文本框插入我的数据库,它给我一个例外 .
异常详细信息:System.Data.SqlClient.SqlException:'test'附近的语法不正确 .
在我提交代码之前的一些细节:我的数据库叫:电影我的表数据叫:用户和我有列,如:“FirstName”,“LastName”等...
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();
}
4 回答
使用一个查询并使用
@ParamName
:问题似乎是你正在创建一个奇怪的SQL指令 . 它的真正 Value 在于INSERT INTO [Users](FirstName)VALUES('(theValue)')并且您不会添加其余的值(姓氏等) . 其余代码什么也不做,因为查询不包含其余参数 .
也许这段代码更短:
添加以下内容: