访问选择查询

Posted

技术标签:

【中文标题】访问选择查询【英文标题】:Access select Query 【发布时间】:2014-07-17 12:05:07 【问题描述】:

我正在尝试将数据从 Access 数据库导入数据表,我想在网格视图中显示。

我使用了两个文本框,一个带有起始值,第二个带有结束值。当我在文本框中输入值时,它会显示填充数据的网格视图。这行得通,但我的问题是 gridview 向我显示来自整个访问表的数据,而不仅仅是我想要的分层值和结束值之间的数据。

protected DataTable DataLoad()

    string queryString = "SELECT  SNR,.... ,......,......,.......,......  FROM Mytable Where SNR Between '" + tb_SNRFrom.Text + "'And '" + tb_SNRTil.Text + "'";
    
        try
        
          OleDbCommand command1 = new OleDbCommand(queryString, connection);
          OleDbDataAdapter da = new OleDbDataAdapter(command1);
          DataSet dataset = new DataSet();
          da.Fill(dataset);
          table = dataset.Tables[0];
        
        catch (OleDbException exp)
        
            Response.Write("Database Error:" + exp.Message.ToString());
        
        connection.Close();

        return table;
    

【问题讨论】:

您应该始终使用parameterized queries。这种字符串连接对SQL Injection 攻击开放。 @Soner 关于使用参数是正确的。他们甚至可以解决您的日期范围问题。 生病尝试thanx为你的答案! 【参考方案1】:

既然知道上限和下限,为什么不使用SELECT SNR,.... ,......,......,.......,...... FROM Mytable Where SNR >= @SmallValue And SNR <= @LargeValue;..

【讨论】:

程序是一个搜索掩码。我无法修复下限和上限 - 永远只限一次。 largevalue 和 smallvalue 不是固定值。它们是要从两个文本框传递的参数。我的意思是从下限和上限说的是,您有一个用于上限的文本框和一个用于下限的文本框 信噪比的数据类型是什么?也可以尝试在Access中执行绝对值查询,检查返回的数据是否被过滤。 那列里面有哪些数据呢?提供一些例子。 例如,我在文本框中输入了值:197、222,我得到了 snr=197....... …………2154! 2154是表的结束SRN

以上是关于访问选择查询的主要内容,如果未能解决你的问题,请参考以下文章

从列表框选择访问不可见的查询字段

在 ms 访问中排除空值的选择查询是啥

访问选择查询

如何访问选择查询的行和列[关闭]

ms 访问 - 当我在 vba 中选择查询时,列为空

使用特定模式访问 SQL 查询选择