안녕 캐스팅 작업을 해결할 수 없습니다. 내 테이블 스키마를 얻기 위해 DataReader
을 사용하고 라인DBNull을 부울로 캐스팅
isKey = Convert.ToBoolean(row["IsKey"].ToString());
에 대한
String not recognized as a valid boolean
: 나는 오류가 발생합니다. IsKey
은 현재 내 DB에있는 모든 곳의 null
입니다. 기본적으로 true
또는 false
결과가 필요합니다.
tableSchema = myReader.GetSchemaTable();
foreach (DataRow row in tableSchema.Rows)
{
string columnName = row["ColumnName"].ToString();
string columnType = row["DataTypeName"].ToString();
bool isKey = Convert.ToBoolean(row["IsKey"].ToString());
null은 부울 유형이 아니므로 null을 사용할 수 있습니다. 'bool?'. 하지만 ToString()을 사용하면 아무 일도 일어나지 않을 것입니다. – Lloyd
당신은'bool? '을 사용해야합니다. –
만약'DBNull.Value'라면,'bool' 값으로 변환 하시겠습니까? –