1

整数値と null 値を持つ「Age」列を含む単純な MySQL テーブルがあります。

    Customers
    +--------------+--------------+ .... +------------+
    |    Name      |   Location   |      |     Age    |
    +--------------+--------------+ .... +------------+
    |   Murphy     |     US       |      |      23    |
    |   Pierre     |     France   |      |      42    |
    |   Rafael     |     Spain    |      |     null   |
    |   Paulo      |     Italy    |      |      21    |
    +--------------+--------------+ .... +------------+

Name と Location は typevarCharで、Age は typeintです。

ただし、VB.netコードでそれを読み取ろうとすると...

Dim connStr as string = Session("connectionString") 'My Connection String'
Dim sql As String = "SELECT * FROM Customers;"
Dim conn As MySqlConnection = New MySqlConnection(connStr)
conn.Open()
Dim da As MySqlDataAdapter = New MySqlDataAdapter(sql , conn)
Dim ds as new dataset
da.Fill(ds)

...データセットの年齢列には、整数値でdsSystem.Byte[]なくすべてのセルがあります。

なぜこうなった?

4

1 に答える 1

1

Age 列が整数値のみを返すようにしてください。

選択を次のように変更します

SELECT Name,Location,IFNULL(Age,0) AS Age FROM Customers;

別のチェックとして、データセットで dbnull が許可されていますか? 変更できるプロパティがあります。多分あなたのイニシャルでも試してみてくださいSELECT * FROM Customers;

于 2013-11-05T15:44:37.053 に答える