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来定义各个变量【这样可以规避特殊字符】
不仅是@loginName,还有后面的@PassW,@e_mainl,@FName,@ID都要声明,声明并且添加参数的语法有好几个,比如:cmd.parameters.addWithValue("@PassW", value)(value为你要绑定的参数)。有多少个参数需要绑定就需要写多少条。
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();
你补充的部分
这样写肯定没问题
cmd.Parameters.Add("@username",tbUsername.Text);
cmd.Parameters.Add("@password",tbPassword.Text);
不要加 SqlDbType.VarChar, 20。没用