【发布时间】:2018-08-13 05:39:54
【问题描述】:
我正在尝试在日期之间搜索并进行分页。但我收到错误“ORA-01722:无效号码” 我该如何解决这个谢谢。
public IEnumerable<LaboratuvarTest> ListePagingTariheGore(int SAYFA, DateTime tarihbaslangic, DateTime tarihbitis)
{
string tarihbas = tarihbaslangic.ToString("dd-MM-yyyy");
string tarihbit = tarihbitis.ToString("dd-MM-yyyy");
DateTime b = tarihbaslangic.ToLocalTime();
DateTime d = tarihbitis.Date;
if (!connection.Baglan()) return null;
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "SELECT * FROM(SELECT a.*, rownum r__ FROM(SELECT ID,BARKOD,RUTUBET,COPSAP,OKSIDEEDILMEMISPARCA,VOLUM,DUYUSALANALIZ,DUSUNCELER,TADIM,AMBALAJKONTROL,KASAYADOKULENCAY,SELULOZ,EKSTRAT,DURUM FROM HAR_TBLLABORATUVARTEST WHERE DURUM = 1 AND TESTTARIHI BETWEEN TO_CHAR(:p2, 'dd/mm/yyyy') AND TO_CHAR(:p3, 'dd/mm/yyyy') ORDER BY TESTTARIHI DESC )a WHERE rownum < ((:p1 * 5) + 1) ) WHERE r__ >= (((:p1 - 1) * 5) + 1)";
cmd.Parameters.Add("p1", SAYFA);
cmd.Parameters.Add("p2", tarihbas);
cmd.Parameters.Add("p3", tarihbit);
cmd.Connection = connection.con;
OracleDataReader reader = cmd.ExecuteReader();
List<LaboratuvarTest> list = new List<LaboratuvarTest>().FromDataReader(reader).ToList();
connection.BaglantiKapat();
return list; ;
}
'ORA-01722: 无效号码'
ID NUMBER(5,0)
BARKOD VARCHAR2(50 BYTE)
RUTUBET NUMBER(8,0)
COPSAP NUMBER(8,0)
OKSIDEEDILMEMISPARCA NUMBER(8,0)
VOLUM NUMBER(8,0)
DUYUSALANALIZ NUMBER(8,0)
DUSUNCELER VARCHAR2(500 BYTE)
TADIM VARCHAR2(500 BYTE)
AMBALAJKONTROL VARCHAR2(500 BYTE)
KASAYADOKULENCAY NUMBER(3,0)
SELULOZ VARCHAR2(50 BYTE)
EKSTRAT VARCHAR2(50 BYTE)
TESTTARIHI DATE
KULLANICIREF NUMBER(5,0)
DURUM NUMBER(1,0)
这张桌子
{01.08.2018 00:00:00} {14.08.2018 00:00:00} 这些日期即将生效。
当我在里面运行第一个选择查询时我可以选择,但是这 3 个不能一起运行,idk 为什么
【问题讨论】:
-
您需要为查询中使用的所有字段提供列类型。
Invalid number错误消息可能出于多种不同原因弹出。 -
帮助我们帮助您 - 请分享表格的定义
标签: oracle datetime model-view-controller