ฉันมีวิธีการที่เชื่อมต่อกับฐานข้อมูลผ่าน Odbc ขั้นตอนการจัดเก็บที่ฉันเรียกมีค่าส่งคืนซึ่งจากด้านฐานข้อมูลคือ 'Char' ตอนนี้ฉันกำลังจับค่าที่ส่งคืนเป็นสตริงและใช้ในคำสั่ง if อย่างง่าย ฉันไม่ชอบแนวคิดในการเปรียบเทียบสตริงแบบนี้เมื่อมีเพียงสองค่าเท่านั้นที่สามารถกลับมาจากฐานข้อมูลคือ 0 และ 1
OdbcCommand fetchCommand = new OdbcCommand(storedProc, conn);
fetchCommand.CommandType = CommandType.StoredProcedure;
fetchCommand.Parameters.AddWithValue("@column ", myCustomParameter);
fetchCommand.Parameters.Add("@myReturnValue", OdbcType.Char, 1)
.Direction = ParameterDirection.Output;
fetchCommand.ExecuteNonQuery();
string returnValue = fetchCommand.Parameters["@myReturnValue"].Value.ToString();
if (returnValue == "1")
{
return true;
}
อะไรคือวิธีที่เหมาะสมในการจัดการกับสถานการณ์นี้ ฉันได้ลอง 'Convert ToBoolean ()' ซึ่งดูเหมือนจะเป็นคำตอบที่ชัดเจน แต่ฉันพบว่า 'String ไม่ได้รับการยอมรับว่าเป็นบูลีนที่ถูกต้อง 'ยกเว้นถูกโยนทิ้ง ฉันพลาดอะไรบางอย่างที่นี่หรือมีวิธีอื่นในการทำให้ '1' และ '0' ทำหน้าที่เหมือนจริงและเท็จ
ขอบคุณ!