查询时无法访问通过C#插入数据

时间:2017-03-29 09:09:02

标签: c# sql ssms

我正在制作一个非常烦人的问题。在程序中,具有管理员状态的教师可以通过添加相关信息将用户添加到SQL数据库中的students_tbl表。以下代码将学生添加到C#中的student_tbl。

string studentAdd = "Insert Into student_tbl(Forename, Surname, SchlYear, InOrOut, Block1, Block2, Block3, Block4, Pword) Values (@forename, @surname, '" + SchlYear + "', '" + inOrOut + "' , '" + Blocks[0] + "', '" + Blocks[1] + "', '" + Blocks[2] + "', '" + Blocks[3] + "', @password)";
SqlCommand studentAddCommand = new SqlCommand(studentAdd, con);
studentAddCommand.Parameters.Add(new SqlParameter("@forename", Forename));
studentAddCommand.Parameters.Add(new SqlParameter("@surname", Surname));
studentAddCommand.Parameters.Add(new SqlParameter("@password", hashedPassword));
studentAddCommand.ExecuteNonQuery();
MessageBox.Show("Student Added Successfully");
con.Close();

添加到表中的变量来自结果,只是名称,整数和bool,没有任何复杂。

我遇到的问题是,当尝试以通过此系统添加的学生身份登录时,此数据无法访问。如果通过SSMS手动添加用户,那么它可以正常工作。这是我遗漏的荒谬基本的事情,好像我要添加一个用户即。 ' Joe Bloggs',并搜索

Select UserID from student_tbl Where Forename = 'Joe'

它根本找不到任何东西。 有没有人有我遗漏的任何明显问题,或者没有宣布等?如果可以提供解决方案,我可以提供更多信息。感谢。

1 个答案:

答案 0 :(得分:0)

根据@Jeroen van Langen的评论,试着修剪价值:

studentAddCommand.Parameters.Add(new SqlParameter("@forename", Forename.Trim()));
studentAddCommand.Parameters.Add(new SqlParameter("@surname", Surname.Trim()));