0
で、正しい形式ではありませんでした正しい形式。ここで入力文字列の形式は1と2
は、この例外はReader
によって返される値はInt32
に変換できないことを意味し、私のコード
public int transCode = 0;
con.Open();
cmd = new SqlCommand("SELECT MAX(TransactionCode) FROM TRANSACTIONS",con);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
transCode = Convert.ToInt32(rdr[0].ToString()); // Here is the line where the problem go
}
con.Close();
'rdr [0]'の内容を確認しましたか? – CNuts
データベースにはどのようなタイプのTransactionCodeがありますか?なぜそれを文字列に変換するのですか?すでに 'int'の場合は' rdr.GetInt32(0) 'を使用してください。それはあなたがそれを1に変換したいので、なぜあなた自身に尋ねなければならない。 –
デバッグのベストは、SQL Server Management Studio(SSMS)を使用して、新しいクエリビューにクエリを入力することでした。デバッグメッセージはSSMSではC#よりずっと優れています。 SSMSの結果を確認して、TransactionCodeの値がすべて整数であることを確認します。 – jdweng