【发布时间】:2013-11-05 15:10:00
【问题描述】:
我有一个简单的 MySQL 表,其中包含一个包含整数和空值的“年龄”列。
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 中的Age 列在每个单元格中都有System.Byte[],而不是整数值。
为什么会这样?
【问题讨论】:
-
您是否尝试将其分配给数据表而不是数据集?
-
尝试使用这样的选择,看看它是否有效。 SELECT NAME,Location,IFNULL(Age,0) AS Age FROM Customers;
-
@KayNelson 是的 IFNULL(Age,0) 似乎可以做到。谢谢。不知道为什么。
-
我可以添加它作为答案吗?我认为数据集可以识别空值并更改数据类型。
标签: mysql vb.net .net-3.5 integer bytearray