查询检索所选数据

时间:2011-11-18 13:07:06

标签: vb.net ms-access-2007

我不善于查询。我想问一下这个查询是否有效。 我想从数据库的表SESSION中检索starttime,endtime和sessioncost。我的程序将是一个自动运行。这意味着在运行时应该自动选择ID。

Dim sql As String = "select STARTTIME, ENDTIME, SESSIONCOST from SESSIONS where CLIENTID =  (?)"

我无法发布图片,因为它需要超过10个声望。对不起..如果你有更好的代码/查询,我感谢你的帮助。 :) 非常感谢你的反馈..

2 个答案:

答案 0 :(得分:0)

首先将CLIENTID计入一个变量

计数的SQL查询

select count(ClIENTID) from SESSIONS;

现在将此计数值存储到某个变量

Dim count_variable As Integer

Dim MyValue As Integer
Randomize   ' Initialize random-number generator.
MyValue = CInt(Int((count_variable * Rnd()) + 1))

现在获得随机值

Dim sql As String = "select STARTTIME, ENDTIME, SESSIONCOST from SESSIONS where CLIENTID = MyValue"

通过这种方式,您可以在clientids计数中获得随机结果

答案 1 :(得分:0)

Imports System
Imports System.IO
Imports System.Data
Imports System.Data.Oledb
Imports System.Data.SqlClient

Dim con1 As New SqlConnection("Provider=Microsoft.ACE.Sql.12.0;Data     Source=giveyourdatabaselocation")
con1.Open()
Dim cmd1 As New SqlCommand("select STARTTIME, ENDTIME AND SESSIONCOST from tbl_SESSION", con1)

Dim ada1 As New SqlDataAdapter(cmd1)
Dim ds1 As New DataSet
ada1.Fill(ds1)
DataGridView1.DataSource = ds1.Tables(0)

con1.Close()

//注意所有数据都将显示在Datagridview

//如果你想在不同的文本框中显示,你可以写下面的代码

Dim con1 As New SqlConnection("Provider=Microsoft.ACE.Sql.12.0;Data Source=giveyourdatabaselocation")
con1.Open()
Dim cmd1 As New SqlCommand("select STARTTIME, ENDTIME AND SESSIONCOST from tbl_SESSION", con1)

Dim dr3 As SqlDataReader = cmd1.ExecuteReader(CommandBehavior.SequentialAccess)

While dr3.Read
    TextBox1.Text = dr3.GetValue(0).ToString()
    TextBox2.Text = dr3.GetValue(1).ToString()
    TextBox3.Text = dr3.GetValue(2).ToString()
End While

con1.Close()

让我知道,你正在寻找的更多