帮忙看下这个ASP.net的sql语句怎么写

2025-03-06 13:44:58
推荐回答(4个)
回答1:

string sql = "insert into loginuser (loginName,Passw,e_mainl,FName,ID) values ('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"')";

这样就可以了,但是这样写得保证所有的里面没有特殊字符,单引号等,单独sql语句执行没太大必要使用参数过滤传入,或者在sql语句前面加上declare来定义各个变量【这样可以规避特殊字符】

回答2:

不仅是@loginName,还有后面的@PassW,@e_mainl,@FName,@ID都要声明,声明并且添加参数的语法有好几个,比如:cmd.parameters.addWithValue("@PassW", value)(value为你要绑定的参数)。有多少个参数需要绑定就需要写多少条。

回答3:

string sql = "insert into loginuser (loginName,Passw,e_mainl,FName,ID) values (@loginName,@PassW,@e_mainl,@FName,@ID)";
SqlCommand cmd = new SqlCommand(sql, con);

cmd.Parameters.AddWithValue("@loginName",TextBox1.Text);
cmd.Parameters.AddWithValue("@PassW",TextBox2.Text);
cmd.Parameters.AddWithValue("@e_mainl",TextBox4.Text);
cmd.Parameters.AddWithValue("@FName",TextBox5.Text);
cmd.Parameters.AddWithValue("@ID",TextBox6.Text);

SqlDataReader Read = cmd.ExecuteReader();

回答4:

你补充的部分
这样写肯定没问题
cmd.Parameters.Add("@username",tbUsername.Text);
cmd.Parameters.Add("@password",tbPassword.Text);
不要加 SqlDbType.VarChar, 20。没用