小编cin*_*cin的帖子

覆盖继承的抽象类中的抽象方法

好吧基本上我有以下问题:我试图让一个抽象类继承另一个抽象方法,但是我不想在其中任何一个中实现抽象方法,因为第三个类继承了他们:

public abstract class Command
{
      public abstract object execute();
}

public abstract class Binary : Command
{
     public abstract object execute(); //the issue is here
}

public class Multiply : Binary
{
     public override object execute()
     {
           //do stuff
     }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试将二进制命令与一元命令分开,但不希望/不能实现任何一种执行方法.我想过让Binary覆盖抽象方法(因为它必须),然后只抛出一个未实现的异常事物.如果我覆盖它,那么我必须声明一个体,但如果我把它抽象,那么我就是"隐藏"继承的方法.

有什么想法吗?

c# inheritance abstract-class abstract-methods multi-level

8
推荐指数
1
解决办法
2万
查看次数

如何查询where和between子句中的DBF(dbase)文件日期类型字段

我有一个DBF文件,正在尝试从C#代码读取它。我可以成功读取文件而无需对varchar类型字段应用任何条件或条件。我的问题是我必须从Date字段(类型:date)中过滤记录。我尝试过以下方法

SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 12:00:00 AM and 2/20/2006 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

上面给出了语法错误:缺少运算符

SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between '2/16/2006 12:00:00 AM' and '2/20/2006 12:00:00 AM'
Run Code Online (Sandbox Code Playgroud)

上面给出了数据类型不匹配错误

SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 and 2/20/2006
Run Code Online (Sandbox Code Playgroud)

上面的方法不会引发任何异常,但是尽管有匹配的记录,但不会返回任何记录。

where子句也发生相同的情况。我该怎么做才能过滤范围内的记录

我正在使用以下代码阅读

OdbcCommand cmd = new OdbcCommand();
OdbcDataAdapter da = new OdbcDataAdapter();
DataTable dt = new DataTable();

using (OdbcConnection connection = new OdbcConnection(connstring))
{
   connection.Open();
   cmd = new OdbcCommand(@"SELECT * FROM D:\DBFreader\file.dbf where [RDATE] between 2/16/2006 12:00:00 AM …
Run Code Online (Sandbox Code Playgroud)

c# sql dbf dbase

5
推荐指数
1
解决办法
1万
查看次数