c# 从oracle中查询数据,设置时间参数问题,在线等

问题描述

c# 从oracle中查询数据,设置时间参数问题,在线等

各位大神,小弟刚接触c#时间不长,写了个程序,从界面上datatimepicker中取出时间,然后在c#代码的sql语句中设置时间参数,无论怎么设置要不就查不到数据,要不就是时间格式设置的不对,下面是代码
public DataTable QueryUsedMaterial(string classgroup, string beginTime, string endTime)
{

        string sql_QueryMaterialsQty = @"select rtrim(mh.schemeid) as 订单,it1.name as 牌号,mh.field3 as 班组,"
            +"ud.modelcode as 盘号名称,ud.callqty as 呼料数量,ud.returnqty as 退还数量,ud.usedqty as 使用数量,"
            +"it.name as 物料名称,ud.USEDMATERIALSDETAILID as ID,ud.usedmaterialsid from machineproductplanhis mh "
            +"inner join usedmaterialshead uh on rtrim(mh.schemeid) = uh.field1 inner join usedmaterialsdetail ud  "
            +"on uh.usedmaterialsid = ud.usedmaterialsid inner join  item it on ud.itemcode = it.code inner join item "
            +"it1 on mh.itemid = it1.itemid where  mh.field3 =:classgroup and mh.createdate >= "
            +"to_date(:beginTime,'yyyy/mm/dd hh24:mi:ss') and mh.createdate <=to_date(:endTime,'yyyy/mm/dd hh24:mi:ss')";
        OracleParameter[] paras =
    {
        new OracleParameter(":classgroup",OracleType.NVarChar),
        new OracleParameter(":beginTime",OracleType.DateTime),
        new OracleParameter(":endTime",OracleType.DateTime)
    };
        paras[0].Value = classgroup.ToString();
        paras[1].Value = DateTime.Parse(beginTime);
        paras[2].Value = DateTime.Parse(endTime);

        //paras[1].Value = beginTime.ToString();
        //paras[2].Value = endTime.ToString();

        DataTable dt = OracleHelper.SelectDateTable(sql_QueryMaterialsQty, paras);
        return dt;

解决方案

可以参考以下例子

public static DataTable Query()
{
const string sSql = "select xh,lsh,name from table where gxsj>to_date(:gxsj,'yyyy-MM-dd HH24:mi:ss')";
OracleParameter[] parameters = {new OracleParameter(":gxsj", OracleType.VarChar, 10)};
parameters[0].Value = DateTime.Now.AddHours(-3).ToString("yyyy-MM-dd HH") + ":00:00";
return DBUtility.DbHelperOra.Query(sSql, parameters).Tables[0];
}

解决方案二:

http://blog.csdn.net/xjzdr/article/details/4253427
关于C#用参数的形式操作Oracle数据库日期字段时的一些问题

时间: 2025-01-27 03:14:26

c# 从oracle中查询数据,设置时间参数问题,在线等的相关文章

《Oracle SQL疑难解析》——1.1 从表中查询数据

1.1 从表中查询数据 Oracle SQL疑难解析 1.1.1 要解决的问题 如何从一个表中查询特定行和列的数据. 1.1.2 解决方法 用包含WHERE子句的SELECT语句.下面的SELECT 语句可以从数据库表中查询符合条件的行的列值: select employee_id, first_name, last_name, hire_date, salary from hr.employees where department_id = 50 and salary < 7500; 上述SE

关联-关于oracle中查询sql的优化

问题描述 关于oracle中查询sql的优化 在数据库中的某个表中有几百万条数据,现在要用这张表关联别的表去查询,查询速度很慢,如何优化才能使查询速度快一些. 解决方案 先优化SQL,然后再优化业务逻辑.最后优化数据库数据存储.起码得把SQL贴出来看看吧,几百万的数据不算多呀. 解决方案二: oracle的权值查询 解决方案三: 用一个相关联的ID,直接查那个表,这样就简单了!

在oracle中查询xml表列内容显示不全,为什么???

问题描述 在oracle中查询xml表列内容显示不全,为什么??? 建立了一个包含xml列的表,也成功插入了xml项,但是用查询语句显示不全xml的内容,不知道为啥?? CREATE TABLE employees( eid int primary key, einfo xmltype ); insert into employees values(1,XMLType(bfilename('XMLDIR', 'einfoTest.xml'),nls_charset_id('GB2312') ))

.net中从数据库中查询数据的问题!!求高手指教~

问题描述 .net中从数据库中查询数据的问题!!求高手指教~ protected void Button1_Click(object sender EventArgs e) { string SQL = ""select * from AllItems where 1=1""; if (!string.IsNullOrEmpty(this.TextBox1.Text)) { SQL = SQL + "" and BianHao='"&q

vb.net-读取oracle中的数据如果有空怎么判断

问题描述 读取oracle中的数据如果有空怎么判断 在asp.net中用vb.net编写程序读取oracle中是我数据,如果某一列为空那么怎么判定?还有就是读取数据后立即删改行数据怎么实现?谢谢大神 解决方案 如果是字符的空,如:'NULL,就用 coulun <> 'NULL'.如果是对象为空,就用 is not null 解决方案二: 判断一列为空 is null 立即删改 delete from table where id in (select id from table whete

入门php在mysql中查询数据

问题描述 入门php在mysql中查询数据 数据库中有张表有主键pmcode还有其他属性,我现在想通过pmcode判断某个用户是否存在,存在的话将其信息取出,代码如下: //拆分发来的信息得到会员卡号 $arry=explode("+",$form_Content); $memberid =$arry[1]; //连接数据库 $link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_

Sql Server 存储过程中查询数据无法使用 Union(All)

原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询.     1.先看一段正常的SQL语句,使用了Union(All)查询:      SELECT ci.CustId --客户编号 , ci.CustNam --客户名称 , ci.ContactBy --联系人 , ci.Conacts --联系电话 , ci.Addr -- 联系地址 , ci.Notes --

从DataTable中查询数据

/// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处理的DataTable</param> /// <param name="expression">找匹配(条件)(不用where ,直接就"什么=什么")</param> /// <returns>符合你条件的DataTa

怎样在vb.net+sql中查询数据表里某一列

问题描述 怎样在vb.net+sql中查询数据表里某一列 解决方案 解决方案二:??不明白你想问的是什么.从字面理解你是想查询某个表的一个列所有内容.SQL:select某字段from表如果是有条件查询,就在表后面加上where字句就可以了解决方案三:觉得和vb没关系,纯sql问题解决方案四:同感