条件表达式 ms-access c# 中的数据类型不匹配

沙希德·伊克巴尔

我有MS Access数据库有包含以下数据的表。

    TradeDate   TradeType   TicketNo    PassengerName   
    11-Feb-19   SALE         1234       ABC
    12-Feb-19   PURCHASE     0345       XYZ

我想使用 TradeType 获取两个日期之间的数据,下面是我的 C# 代码

public static DataTable GetSale(DateTime FromDate, DateTime ToDate, string TradeType)
{    
    DataTable dt = new DataTable();    
    OleDbConnection con = new OleDbConnection(Utility.GetConnectionString());
    OleDbCommand cmd = new OleDbCommand("SELECT A.AgencyName, T.TradeDate, T.InvoiceNo, T.TicketNo, T.PassengerName, T.FatherName, T.TicketAmount, T.RefundAmount FROM Agencies AS A, Trade AS T WHERE T.Account_ID=A.Account_ID and T.TradeType=@TradeType And T.TradeDate>=@FromDate And T.TradeDate<@ToDate", con);
    cmd.CommandType = CommandType.Text;
    cmd.Parameters.AddWithValue("@FromDate", FromDate);
    cmd.Parameters.AddWithValue("@ToDate", ToDate);
    cmd.Parameters.AddWithValue("@TradeType", TradeType);
    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    con.Open();
    da.Fill(dt);
    con.Close();
}

在执行我的代码时

条件表达式中的数据类型不匹配。

抛出异常。我究竟做错了什么?

山本哲也

您应该知道的第一件事是OleDbCommand按定义顺序处理参数,您需要按照它们在查询中出现的顺序定义参数(OLE DB 不支持命名参数)。

其次,使用Add()而不是AddWithValue()通过OleDbType为每个参数指定,您可以在此处查看类型列表

以下是正确设置的示例:

OleDbConnection con = new OleDbConnection(Utility.GetConnectionString());
OleDbCommand cmd = new OleDbCommand(@"SELECT A.AgencyName, T.TradeDate, T.InvoiceNo, T.TicketNo, T.PassengerName, T.FatherName, T.TicketAmount, T.RefundAmount 
                                    FROM Agencies AS A, Trade AS T 
                                    WHERE T.Account_ID=A.Account_ID 
                                    and T.TradeType = @TradeType And T.TradeDate >= @FromDate And T.TradeDate < @ToDate", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@TradeType", OleDbType.VarWChar).Value = TradeType;
cmd.Parameters.Add("@FromDate", OleDbType.Date).Value = FromDate;
cmd.Parameters.Add("@ToDate", OleDbType.Date).Value = ToDate;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS-Access SQL中的“条件表达式中的数据类型不匹配”

来自分类Dev

C#Access OleDb条件表达式中的数据类型不匹配

来自分类Dev

C#从Access SQL查询中的“条件表达式中的数据类型不匹配”错误

来自分类Dev

将记录从C#保存到Access时“条件表达式中的数据类型不匹配”

来自分类Dev

SQL Access 2010按日期查询“条件表达式中的数据类型不匹配”。

来自分类Dev

条件表达式Access 2013中的数据类型不匹配

来自分类Dev

Access查询后“条件表达式中的数据类型不匹配”

来自分类Dev

条件表达式Excel C#中的数据类型不匹配

来自分类Dev

ASP C#更新访问数据库中的条件表达式中的数据类型不匹配

来自分类Dev

C#和MS Access之间的数据类型不匹配?

来自分类Dev

C#和MS Access之间的数据类型不匹配?

来自分类Dev

“条件表达式中的数据类型不匹配”

来自分类Dev

SQL查询中的MS Access VBA数据类型不匹配错误

来自分类Dev

MS Access中存在空白记录时,VBA数据类型不匹配

来自分类Dev

CRITERIA EXPRESSION中的数据类型不匹配错误(ms Access)

来自分类Dev

联合查询中的计算表达式 (MS Access)

来自分类Dev

查询访问数据库时条件表达式中的数据类型不匹配

来自分类Dev

级联组合框中的条件表达式中的数据类型不匹配

来自分类Dev

vb.net中条件表达式中的数据类型不匹配

来自分类Dev

使用REPLACE的条件表达式中的数据类型不匹配,无法替换

来自分类Dev

System.Data.OleDb.OleDbException:条件表达式中的数据类型不匹配

来自分类Dev

条件表达式中的数据类型不匹配(vb.net,访问权限)

来自分类Dev

在条件表达式中获取错误3464数据类型不匹配

来自分类Dev

选择查询中出现错误:条件表达式中的数据类型不匹配

来自分类Dev

条件表达式中的数据类型与REPLACE不匹配,无法替换

来自分类Dev

条件表达式异常中的数据类型不匹配

来自分类Dev

条件表达式中的数据类型不匹配vb2010“编辑”按钮

来自分类Dev

条件表达式中的数据类型不匹配(vb.net,访问权限)

来自分类Dev

OLEDB总和错误:条件表达式中的数据类型不匹配。VB.NET

Related 相关文章

  1. 1

    MS-Access SQL中的“条件表达式中的数据类型不匹配”

  2. 2

    C#Access OleDb条件表达式中的数据类型不匹配

  3. 3

    C#从Access SQL查询中的“条件表达式中的数据类型不匹配”错误

  4. 4

    将记录从C#保存到Access时“条件表达式中的数据类型不匹配”

  5. 5

    SQL Access 2010按日期查询“条件表达式中的数据类型不匹配”。

  6. 6

    条件表达式Access 2013中的数据类型不匹配

  7. 7

    Access查询后“条件表达式中的数据类型不匹配”

  8. 8

    条件表达式Excel C#中的数据类型不匹配

  9. 9

    ASP C#更新访问数据库中的条件表达式中的数据类型不匹配

  10. 10

    C#和MS Access之间的数据类型不匹配?

  11. 11

    C#和MS Access之间的数据类型不匹配?

  12. 12

    “条件表达式中的数据类型不匹配”

  13. 13

    SQL查询中的MS Access VBA数据类型不匹配错误

  14. 14

    MS Access中存在空白记录时,VBA数据类型不匹配

  15. 15

    CRITERIA EXPRESSION中的数据类型不匹配错误(ms Access)

  16. 16

    联合查询中的计算表达式 (MS Access)

  17. 17

    查询访问数据库时条件表达式中的数据类型不匹配

  18. 18

    级联组合框中的条件表达式中的数据类型不匹配

  19. 19

    vb.net中条件表达式中的数据类型不匹配

  20. 20

    使用REPLACE的条件表达式中的数据类型不匹配,无法替换

  21. 21

    System.Data.OleDb.OleDbException:条件表达式中的数据类型不匹配

  22. 22

    条件表达式中的数据类型不匹配(vb.net,访问权限)

  23. 23

    在条件表达式中获取错误3464数据类型不匹配

  24. 24

    选择查询中出现错误:条件表达式中的数据类型不匹配

  25. 25

    条件表达式中的数据类型与REPLACE不匹配,无法替换

  26. 26

    条件表达式异常中的数据类型不匹配

  27. 27

    条件表达式中的数据类型不匹配vb2010“编辑”按钮

  28. 28

    条件表达式中的数据类型不匹配(vb.net,访问权限)

  29. 29

    OLEDB总和错误:条件表达式中的数据类型不匹配。VB.NET

热门标签

归档