2015-12-03 102 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

非常感謝! –

相關問題