2015-12-03 100 views
0

我正在用C#创建一个桌面应用程序。我正在创建一个登录表单。我有一个名为MyTable的表,其中列usernamepasswordC#SQL Server Compact数据库登录

我想验证用户,所以我想我想知道从SQL查询影响的行数。但每次通过执行ExecuteNonQuery()方法得到-1

我的代码:

string Username = username.Text; 
string Password = password.Text; 
SqlCeCommand commandSelect = new SqlCeCommand("SELECT * FROM MyTable WHERE [email protected] AND [email protected]", connection); 
commandSelect.Parameters.AddWithValue("@username", Username); 
commandSelect.Parameters.AddWithValue("@password", Password); 
int rows = commandSelect.ExecuteNonQuery(); 
MessageBox.Show(rows.ToString()); 

在此先感谢。

回答

1

你可能会更好改变你的SQL得到计数,像这样:

SELECT COUNT(*) FROM MyTable WHERE [email protected] AND [email protected] 

然后用ExecuteScalar()代替ExecuteNonQuery。这将不太可能导致您未来头痛。

+0

谢谢。你是一个拯救生命的人。 再次感谢。 –

0

我相信ExecuteNonQuery()总是返回-1,所以在这种情况下不要使用它。史蒂夫的回答应该做到这一点。

+0

非常感谢! –

相关问题