2015-04-06 68 views
0

我想创建一个注册表单。我想进行验证检查,如果文本框中的ID已经存在,它会显示错误消息。然而,每当我尝试搜索ID,并把它转换成字符串我得到一个错误C#SQL搜索结果到一个字符串/文本框

An unhandled exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll 

这里是我的代码:

public SignUpForm() 
    { 
     InitializeComponent(); 
    } 
    // Connection String 
    SqlCeConnection connect = new SqlCeConnection("Data Source= Accounts.sdf;Persist Security Info=false;"); 

    private void btnRegister_Click(object sender, EventArgs e) { 
     String verifyID = ""; 

     connect.Open(); 

     using (SqlCeCommand cmd = new SqlCeCommand("SELECT Student ID FROM Users WHERE Student ID = @ID", connect)) 
     { 
      cmd.Parameters.AddWithValue("@ID", txtID.Text); 
      using (SqlCeDataReader reader = cmd.ExecuteReader()) 
      { 
       while (reader.Read()) 
       { 
        verifyID = (string)reader["Student ID"]; 
       } 
      } 
     } 

     txtTEMP.Text = verifyID; 

回答

2

您的SQL SELECT [Student ID] FROM Users WHERE Student ID = @ID似乎并不正确。它应该是

SELECT [Student ID] FROM Users WHERE [Student ID] = @ID

0

也许错误是在你的SQL语句。考虑将其更改为:

SELECT StudentID FROM Users WHERE StudentID = @ID 
+0

即使列名在他们的空间?我仍然得到错误 – user2782104

+0

请看Saagar的回答:) – Minh

相关问题