我有一个SQLite数据库的支票簿应用程序。TXDataTABLE有一些字段,我关心的两个是txSortDate和txSearchMonth。我写了一个SQL搜索,以查找所有条目从一个月到另一个月按年。搜索工作,但阅读器有其他想法,它希望如何显示数据。
示例如果我将from month设置为Jan,将to month设置为Mar,我将获得相应的月份,但读取器包括当前月份。
以下是SQL搜索代码:
ElseIf gvSearchType = "MoRangeYr" Then
cmd.CommandText = "SELECT * FROM TxData WHERE txSearchMonth BETWEEN $gvFromMonth AND $gvToMonth AND txYear = $gvYear "
cmd.Parameters.AddWithValue("$gvFromMonth", gvFromMonth)
cmd.Parameters.AddWithValue("$gvToMonth", gvToMonth)
cmd.Parameters.AddWithValue("$gvYear", gvYear)
字符串
下面是未绑定到显示数据的DataGridView的READER Code DB
Using rdr As SQLite.SQLiteDataReader = cmd.ExecuteReader
'dgvTX.DataSource = rdr
'Statement Above is when DB is bound to dgvTX
'============================================
While rdr.Read()
intID = CInt((rdr("TID")))
strDate = rdr("txSortDate").ToString 'txSearchMonth '
strTxType = rdr("txType").ToString
strAmt = CDec(rdr("txAmount"))
strCKNum = rdr("txCKNum").ToString
strDesc = rdr("txDesc").ToString
strBal = CDec(rdr("txBalance"))
dgvTX.Columns(3).DefaultCellStyle.Format = "N"
dgvTX.Columns(6).DefaultCellStyle.Format = "N"
'dgvTX.Columns(6).DefaultCellStyle.Format = "C"'Adds the $ sign and commas
dgvTX.Rows.Add(intID, strDate, strTxType, strAmt, strCKNum, strDesc, strBal, emptyStr)
rowCount = rowCount + 1
End While
型
令人不快的一行代码是
strDate = rdr("txSortDate").ToString
型
我认为一个解决方案是在READER代码中使用一个条件语句。
或者我有两个读者,一个用于其他搜索,一个用于MoRangeYr。
我需要一些帮助来写条件语句?
或其他更好的建议如何解决这个问题
- txSortDate中的数据看起来像这样2021年10月23日
- txSearchMonth中的数据看起来像这样1,2,3你明白了吗
是的,当我设计DB的时候,我没有考虑过,老话说,后站点总是20/20
这是搜索1月至3月的屏幕截图注意,我没有要求OCT x1c 0d1x
从月份和到月份的搜索数据是使用下面的组合框部分代码输入的
Private Sub cbToMo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbToMo.SelectedIndexChanged
If cbToMo.SelectedIndex > -1 Then
Dim sitem As String
sitem = CType(cbToMo.SelectedItem, String)
Dim month As String
month = sitem
Select Case month
Case = "January"
intToMonth = 1
Case = "February"
intToMonth = 2
Case = "March"
intToMonth = 3
型
1条答案
按热度按时间iqxoj9l91#
您需要将日期从
String
转换为Date
类型:字符串
然后在网格中使用
dteDate
。(尽管我同意
@Joel Coehoorn
的观点,最好的选择是重写数据)