繁体   English   中英

SQL语句作为列表框VB.NET的数据源

[英]SQL Statement as datasource for listbox VB.NET

好的,所以我得到一个列表框,使displaymember等于“ ID”

我填写了数据集,如果对数据集进行了更改,列表框也会更改。

我用这种dataAdapter填充数据集:

KamersDataAdapter =新的SqlDataAdapter(“从roomsTable中选择ID”,ConnectionString)

到现在为止还挺好。

如果我能说一个好听的句子会很酷,那么用户可以在列表框中阅读一些不错的东西,然后再阅读数据库项。 所以我这样做了:

New SqlDataAdapter("SELECT *, convert(varchar,convert(date,StartDatum),103) +' - ' + convert(varchar,convert(date,EindDatum),103) + ': room ' + convert(varchar,KamerNummer) AS combinatie FROM VerhuringenTable", ConnectionString)

然后将其放到Combinatie(组合荷兰语)上,而不是将displaymember设置为ID

现在,如果我第一次填写我的数据集,一切都会很好。 然后我得到这个:

18/01/2014-30/05/2014:room 103

但是现在当我添加新房间时。 房间不想出现在我的列表框中。 换句话说...我的数据集未更新或我的列表框无法处理此查询

我知道使用此sql语句会导致我仅选择ID时我的列表框更新正常。

有人知道会发生什么吗?

感谢名单

FOSA

您的列combinatie是在从数据库中提取数据时计算的。 之后,数据集不包含任何可在运行时应用的规则,这些规则可根据新Room的数据生成combinatie列。 您应将此字段的信息手动添加到数据集表中,
可能在您添加房间预订时

 Dim newRow = ds.Tables("room").NewRow()
 newRow("StartDatum") = DateTime.Today
 newRow("EindDatum") = DateTime.Today.AddDays(7)
 newRow("KamerNummer") = roomNumber
 ....
 newRow("combinatie") = DateTime.Today.ToShortDateString() & "-" & _ 
                        DateTime.Today.AddDays(7).ToShortDateString() & _ 
                        ":room " & roomNumber.ToString()
ds.Tables("room").Rows.Add(newRow)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM