我是一個嘗試使用「DELETE FROM」查詢從AccessDatabase刪除行的新手程序員。它需要一個字符串轉換爲int這是哪裏出了問題發生C#從AccessDatabase中刪除一行/將字符串轉換爲Int
下面的代碼我跑:
private void BtnDelete_Click(object sender, EventArgs e)
{
OleDbConnection Conn = new OleDbConnection();
Conn.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\HoliPlanData.accdb;Persist Security Info=False";
try
{
Conn.Open();
String Query = "DELETE * FROM [Employee] WHERE PayrollNo = @PayrollNo";
OleDbCommand DoDelete = new OleDbCommand(Query, Conn);
String PayrollNo = PassPayrollNo;
int PayRowNum = 0;
bool isValid = int.TryParse(PassPayrollNo, out PayRowNum);
if (isValid)
{
DoDelete.Parameters.AddWithValue("@PayrollNo", PayRowNum);
DoDelete.ExecuteNonQuery();
MessageBox.Show("Success");
Conn.Close();
}
else
{
MessageBox.Show("Could not convert to string");
Conn.Close();
}
}
當我運行此我進入else子句,所以轉換爲字符串ISN沒有工作
怎麼回事?爲什麼? 任何幫助將不勝感激,謝謝。
什麼是'PayrollNo'列的類型,什麼是類型和'PassPayrollNo'的價值? –
我認爲PayrollNo是一個字符串,但在數據庫中的一個數字 – Josh
You _think_?你不知道嗎?然後,如果它是有效整數,則需要將字符串解析爲int。 –