SQLServerでnullになっている項目の値をADO(VB.NetはADO.Net)で読み込むとVB6はnull、VB.NetはDBNull(Convert.DBNull)になります。
そこで下記の型の変数にVB6はnullをVB.NetはDBNullを代入したらどうなるか試してみた。
| 型 | Visual Basic6 | Visual Basic.Net |
|---|---|---|
| Visual Basic6 | Visual Basic.Net | |
| Boolean | エラー発生 | エラー発生 |
| Byte | エラー発生 | エラー発生 |
| Char | × | エラー発生 |
| Currency | エラー発生 | × |
| Date | エラー発生 | エラー発生 |
| Double | エラー発生 | エラー発生 |
| Decimal | × | エラー発生 |
| Integer | エラー発生 | エラー発生 |
| Long | エラー発生 | エラー発生 |
| Object | エラー発生 | DBNull |
| Short | × | エラー発生 |
| Single | エラー発生 | エラー発生 |
| String | エラー発生 | エラー発生 |
【動作確認環境】
・.Net側
OS:Windows11 Pro 21H2
Visual Studio:2019
.Net Framework : 4.7.2
・VB6側
OS:Windows7
Visual Studio:6