如何不从数据库中添加空值

时间:2013-12-17 03:00:40

标签: .net vb.net drop-down-menu combobox

我通过使用它的属性 - Use Data Bound Items来填充数据库中的组合框 我只是在MainTable中添加了另外两个列,而不是制作另一个表 它们应该是DVRIDDVRIP
然后我从comboDVR填充了DVRID,我得到DVR16F&我的下拉列表中的DVR14F selectedValues来自DVRIP,这是他们自己的IP地址。
我通常得到我想要的东西,唯一的问题是,因为我从列中填充了我的comboDVR,它获取该列中的所有项目,即使是空列。 enter image description here 所以当我下拉时,它太长了......如果用户点击一个空白项目,则抛出异常 有没有办法可以从DRVID列中删除或不获取空值?或者我需要为此创建一个单独的表?

btw 我这样做是因为我的老板说他不希望客户端手动输入dvr的ip地址,所以他想要一个dvrs名称的下拉菜单。

2 个答案:

答案 0 :(得分:1)

更改SELECT查询以过滤掉DVRID为NULL的行,如下所示:

SELECT ID, MarkerName, Latitude, Longitude, CameraID, DVR, HostAddress, DVRID, DVRIP 
FROM YOUR_TABLE_NAME
WHERE DVRID IS NOT NULL

答案 1 :(得分:0)

如果您的select语句从DVR列返回空值,则可以使用此值:

isnull(DVR, '')

所以它返回一个空字符串。然后在你的代码后面你可以做这样的事情:

while(dr.read()) {
     if(dr["DVR"].ToString() == String.Empty)
          continue;
     else
        yourControl.Items.Add(new ListItem("your text", "your value"));
}

我希望这能指出你正确的方向。