1
關於安全性,這是一個髒原型,因此密碼沒有哈希值。如果提交了錯誤的證書,程序將拋出錯誤
我正在測試一些c#MySQL代碼,並且當正確的證書已經發送到數據庫時,程序返回值1,這意味着正確。
但是,如果值是檢查不匹配的結果我得到異常:
型「System.FormatException」未處理的異常在SERVER.EXE發生 其他信息:輸入字符串的不一個正確的格式。
public int CheckLoginCredentials(String username,string password)
{
string query = "SELECT * from testTable.user WHERE username='" + username + "' and password='" + password + "'";
int Count = -1;
//Open Connection
if (this.OpenConnection() == true)
{
//Create Mysql Command
MySqlCommand cmd = new MySqlCommand(query, connection);
//ExecuteScalar will return one value
try
{
Count = int.Parse(cmd.ExecuteScalar() + "");
}
catch (Exception e)
{
throw e;
}
//close Connection
this.CloseConnection();
return Count;
}
else
{
return Count;
}
}
我試圖拋出異常,但它崩潰的服務器。我該如何優雅地解決問題?
此外,代碼改成這樣:'數=(Int32)已cmd.ExecuteScalar();' – Rob
你並不需要'的ToString()'然後解析字符串..這是浪費工作。結果已經是一個盒裝的整數,你只需要像上面那樣強制轉換爲int :) – Rob
@Rob:謝謝你提供的新信息。 –