Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么MySQL查询在VB.net中将整型列读取为字节数组?_Mysql_Vb.net_.net 3.5_Integer_Bytearray - Fatal编程技术网

为什么MySQL查询在VB.net中将整型列读取为字节数组?

为什么MySQL查询在VB.net中将整型列读取为字节数组?,mysql,vb.net,.net-3.5,integer,bytearray,Mysql,Vb.net,.net 3.5,Integer,Bytearray,我有一个简单的MySQL表,其中包含一个包含整数值和空值的“Age”列 Customers +--------------+--------------+ .... +------------+ | Name | Location | | Age | +--------------+--------------+ .... +------------+ | Murphy | US

我有一个简单的MySQL表,其中包含一个包含整数值和空值的“Age”列

    Customers
    +--------------+--------------+ .... +------------+
    |    Name      |   Location   |      |     Age    |
    +--------------+--------------+ .... +------------+
    |   Murphy     |     US       |      |      23    |
    |   Pierre     |     France   |      |      42    |
    |   Rafael     |     Spain    |      |     null   |
    |   Paulo      |     Italy    |      |      21    |
    +--------------+--------------+ .... +------------+
姓名和位置为类型
varChar
,年龄为类型
int

然而,当我试图在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)
。。。数据集
ds
中的年龄列在每个单元格中都有
System.Byte[]
,而不是整数值


为什么会发生这种情况?

请确保“年龄”列只返回整数值

将您的选择更改为

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

另一项检查,您的数据集是否允许dbnull?有一个属性可以更改。也许你也可以试试你的初始
SELECT*FROM Customers

尝试确保“年龄”列只返回整数值

将您的选择更改为

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

另一项检查,您的数据集是否允许dbnull?有一个属性可以更改。也许你也可以试试你的初始
SELECT*FROM Customers

您是否尝试将其分配给datatable而不是dataset?请尝试使用类似这样的select,以查看其是否有效。从客户中选择名称、位置、IFNULL(年龄,0)作为年龄@KayNelson Yeah IFNULL(年龄,0)似乎做到了这一点。谢谢不知道为什么。我可以加上它作为答案吗?我认为数据集会识别空值并更改数据类型。您是否尝试将其分配给datatable而不是dataset?请尝试使用类似这样的select,以查看它是否有效。从客户中选择名称、位置、IFNULL(年龄,0)作为年龄@KayNelson Yeah IFNULL(年龄,0)似乎做到了这一点。谢谢不知道为什么。我可以加上它作为答案吗?我认为数据集识别空值并更改数据类型。