vb.net中select 语句的运用--DATE变量语法及基本输出方式

 这个问题其实昨天就遇到了,但弄了2个晚上,刚刚才解决了这个问题。

以前我解决的方式是用多建一个临时表,然后一条条把工作表的记录读到TEX控件中,然后根据条件进行判断,符合条件的就写入临时表中。最后对临时表进行下一步操作的方式来处理的。

昨天我第一次直接用SQL语句来解决这样的问题,这时碰到了2个问题。一个是SQL语句用在vb.net中的语法问题,另一个是把结果输出到DATAGRIDVIEW控件中去的问题。

1. 语法:

  Dim d1, d2 As Date
  d1 = Date_quest_buy_buybl_start.Value.Date
  d2 = Date_quest_buy_buybl_end.Value.Date

 

  OleDbConnection2.Open()  ' 运行SQL语句时一定要先打开数据库连接,不然是无法继续的
  OleDb_quest_taobao_buybl.SelectCommand.CommandText = "select * from buy_bl where buy_date between #" + d1 + "#  and #" + d2 + "# "           ’主要要注意的是有下划线的部份,d1,d2是2个DATE变量,所以要注意蓝色部分的写法,如果是2个常量就直接写上去就可以了。 另一个要特别注意的是紫色的 # ,我在这个上面耗了一晚上。没加这2个 # 的时候程序也可以正常运行,但就是不能得出正确结果,一加上去就马上OK了。暂时我也还不知道这个 # 的具体意义,只是知道这样写能得出正确结果。呵呵,以后找到资料再补充下吧。要注意的是 这2个 # 号似乎是DATE变量专用,其它变量要用其它的符号。

 

2. 输出到控件

       Dim d1, d2 As Date
        d1 = Date_quest_buy_buybl_start.Value.Date
        d2 = Date_quest_buy_buybl_end.Value.Date

        OleDbConnection2.Open()
        OleDb_quest_taobao_buybl.SelectCommand.CommandText = "select * from buy_bl where buy_date between #" + d1 + "#  and #" + d2 + "# "
        OleDb_quest_taobao_buybl.Fill(DataSet_quest_taobao_buybl1)  ‘ 只要在执行过SELECT后 FILL一次就可以解决问题了,简单的很。
        OleDbConnection2.Close()  ’有了结果后最好记得把连接关掉,以避免影响后面的操作,产生一些不可预见的问题。

 

 

 

 


版权声明:本文为smalljim原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。