在vb.net中搜索两个日期之间的字段

时间:2014-06-17 12:23:17

标签: vb.net

我在数据库中的信息很弱,我不知道如何使用查询。我在网上搜索过,我学到了一些关于查询的知识,我发现了一个例子,但我不知道如何在vb.net中使用它。 SQL Server中的查询将如下所示:

 select hb from gen where date between 12/6/2014 and 16/6/2014

它工作正常,但我不知道如何在vb.net中使用它 所以写了这行代码,我认为我的解决方案将是这样的:

BindingSource1.Filter = String.Format("select hb from gen where date between" & DateTimePicker1.Value & "and" & GENDateTimePicker1.Value)

这条线有什么问题

3 个答案:

答案 0 :(得分:1)

如果您阅读了文档,那么您就知道BindingSource.Filter属性要求日期以#M / dd / yyyy#格式表示。此外,String仅代表WHERE子句,而不是整个查询。您还没有正确使用String.Format。你的代码应该是:

BindingSource1.Filter = String.Format("[Date] BETWEEN #{0:M/dd/yyyy}# AND #{1:M/dd/yyyy}#", DateTimePicker1.Value, GENDateTimePicker1.Value)

答案 1 :(得分:1)

以下是有关如何在vb.net中使用sql查询的示例:

首先,您要将连接字符串设置为数据库。接下来,您可以使用sql语句的内容声明一个字符串。第三,您将要设置一个using语句,该语句将在退出时关闭sql连接。我还会阅读参数化的sql以减轻对数据库的攻击。<​​/ p>

Dim con As String = (ConfigurationManager.ConnectionStrings("YOURCONNECTIONSTRINGNAME").ConnectionString)
Dim result as String = String.Empty 'set the result to whatever the datatype of hb is in your database
Dim query as String = "select hb from gen where date between '12-6-2014' and '16-6-2014'"
     Using conn As New SqlClient.SqlConnection(con)
          Try
               conn.Open()
               Dim command As New SqlClient.SqlCommand(query, conn)
               command.Connection = conn
               command.CommandType = CommandType.Text

               result = command.ExecuteScalar()
               conn.Close()
               conn.Dispose()
          Catch ex As Exception
               System.Diagnostics.Debug.WriteLine(ex.Message)
          End Try
     End Using

答案 2 :(得分:0)

这是我在硬搜索和vb.net和SQL服务器上的大量讲座后所做的解决方案&#34;对不起我是初学者&#34;

                Me.BindingSource1.Filter = String.Format(" date <= #{0:M/dd/yyyy}# AND Date >= #{1:M/dd/yyyy}# and hb like'" & TextBox1.Text & "%'", DateTimePicker1.Value, DateTimePicker2.Value)

和&#34; hb&#34;是我想要找到的字段的名称 谢谢你的时间和快速回复