小编Fra*_*Thu的帖子

Linq where子句仅比较没有时间值的日期值

var _My_ResetSet_Array = _DB
    .tbl_MyTable
    .Where(x => x.Active == true
        && x.DateTimeValueColumn <= DateTime.Now)
    .Select(x => x);
Run Code Online (Sandbox Code Playgroud)

上层查询工作正常.
但我只想检查日期值.
但是上层查询检查日期+时间值.

在传统的mssql中,我可以编写如下的查询.

SELECT * FROM dbo.tbl_MyTable
WHERE 
CAST(CONVERT(CHAR(10), DateTimeValueColumn, 102) AS DATE) <= 
            CAST(CONVERT(CHAR(10),GETDATE(),102) AS DATE)
AND
Active = 1
Run Code Online (Sandbox Code Playgroud)

所以任何人都可以给我建议我怎样才能检查Linq中的日期值.

c# datetime linq-to-entities entity-framework compare

50
推荐指数
2
解决办法
11万
查看次数

在Java中加密和在C#中解密为AES 256位

1.我有java函数加密xml文件并返回加密的String.

/// Java Class 
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

public class Crypt {

    public static String key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    public static byte[] key_Array = Base64.decodeBase64(key);

    public static String encrypt(String strToEncrypt)
    {       
        try
        {   
            //Cipher _Cipher = Cipher.getInstance("AES");
            //Cipher _Cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
            //Cipher _Cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");      

            Key SecretKey = new SecretKeySpec(key_Array, "AES");

            Cipher _Cipher = Cipher.getInstance("AES");     
            _Cipher.init(Cipher.ENCRYPT_MODE, SecretKey);       

            return Base64.encodeBase64String(_Cipher.doFinal(strToEncrypt.getBytes()));     
        }
        catch (Exception e)
        {
            System.out.println("[Exception]:"+e.getMessage());
        }
        return null;
    }

    public static void main(String[] args) {        
        StringBuilder sb …
Run Code Online (Sandbox Code Playgroud)

c# java encryption aes

12
推荐指数
2
解决办法
3万
查看次数

SerialPort没有收到任何数据

我正在开发需要与COM端口交互的程序.

通过学习这个问答:.NET SerialPort DataReceived事件没有触发,我就像这样编写代码.

namespace ConsoleApplication1
{
 class Program
 {
    static SerialPort ComPort;        

    public static void OnSerialDataReceived(object sender, SerialDataReceivedEventArgs args)
    {
        string data = ComPort.ReadExisting();
        Console.Write(data.Replace("\r", "\n"));
    }

    static void Main(string[] args)
    {
        string port = "COM4";
        int baud = 9600;
        if (args.Length >= 1)
        {
            port = args[0];
        }
        if (args.Length >= 2)
        {
            baud = int.Parse(args[1]);
        }

        InitializeComPort(port, baud);

        string text;
        do
        {
            String[] mystring = System.IO.Ports.SerialPort.GetPortNames();

            text = Console.ReadLine();
            int STX = 0x2;
            int ETX …
Run Code Online (Sandbox Code Playgroud)

c# serial-port

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

为什么ParameterizedThreadStart只允许对象参数?

请让我知道为什么ParameterizedThreadStart类只允许只有System.object参数类型包含的方法.

public class MainThreadTest
{
    public static void Main(string[] args)
    {
        Thread T = new Thread(new ParameterizedThreadStart(DisplayYOrX));
        T.Start("X");

        DisplayYOrX("Y");
    }

    static void DisplayYOrX(object outValue)
    {
        string Parameter = (string)outValue;

        for(int i=0; i<10; i++)
            Console.Write(Parameter);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我想知道这是我不想再次使用类型转换语法.

string Parameter = (string)outValue;
Run Code Online (Sandbox Code Playgroud)

c# multithreading

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

SqlBulkCopy多个表在Entity Framework和Classic Ado.net之间的单个事务或批量插入操作下插入

我的应用程序运行时需要插入两个表.
让我们说我有表格如下

  • tbl_FirstTable和tbl_SecondTable

我的问题是数据量.
我需要向tbl_FirstTable插入超过10,000行,并向tbl_SecondTable插入超过500,000行.

如此冷酷,我使用实体框架如下.

public bool Save_tbl_FirstTable_Vs_tbl_SecondTable(List<tbl_FirstTable> List_tbl_FirstTable, List<tbl_SecondTable> List_tbl_SecondTable)
{
    bool IsSuccessSave = false;
    try
    {
        using (DummyDBClass_ObjectContext _DummyDBClass_ObjectContext = new DummyDBClass_ObjectContext())
        {           
            foreach (tbl_FirstTable _tbl_FirstTable in List_tbl_FirstTable)
            {
                _DummyDBClass_ObjectContext.tbl_FirstTable.InsertOnSubmit(_tbl_FirstTable);
            }

            foreach (tbl_SecondTable _tbl_SecondTable in List_tbl_SecondTable)
            {
                _DummyDBClass_ObjectContext.tbl_SecondTable.InsertOnSubmit(_tbl_SecondTable);
            }

            _DummyDBClass_ObjectContext.SubmitChanges();
            IsSuccessSave = true;
        }
    }
    catch (Exception ex)
    {
        Log4NetWrapper.WriteError(string.Format("{0} : {1} : Exception={2}",
                                    this.GetType().FullName,
                                    (new StackTrace(new StackFrame(0))).GetFrame(0).GetMethod().Name.ToString(),
                                    ex.Message.ToString()));

        if (ex.InnerException != null)
        {
            Log4NetWrapper.WriteError(string.Format("{0} : {1} : InnerException Exception={2}",
                                    this.GetType().FullName,
                                    (new StackTrace(new StackFrame(0))).GetFrame(0).GetMethod().Name.ToString(),
                                    ex.InnerException.Message.ToString()));
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# sql-server ado.net entity-framework

10
推荐指数
1
解决办法
9083
查看次数

parameterizedThreadstart,Threadstart和Thread之间的区别

parameterizedThreadstart,Threadstart和Thread之间有什么区别?

.net multithreading

9
推荐指数
1
解决办法
7894
查看次数

了解ISO 8583消息传递日志

我在WIKICode Project上阅读了ISO 8583消息; 我理解ISO 8583消息基本上可以分为3部分:

  1. MTI(消息类型指示符)

1.1.版

1.2.消息类

1.3.消息功能

1.4.消息来源

  1. 位图

指出存在哪些数据元素.

  1. DataElement

整个ISO消息的本质,包含有关事务的信息,例如:

  • 交易类型

  • 量,

  • 客户等

因此,在阅读这两个Web引用之后,我想将我的ISO消息传递日志划分为MTI,位图和数据元素.

例如:

(0800 2020000000800000   000000 000001 3239313130303031)
MTI:  0800 (1987 version, Network Management Message, Request, Acquirer)
Bitmap: 20 20 00 00 00 80 00 00 (eg. 20 = 0010 0000 ,so position 3 is on)
DataElement:(by seeing Bitmap , we can defined data element as follow)
    field 03:000000 (Processing Code)
    field 11:000001 (Systems trace audit number)
    field 41:3239313130303031 (Card …
Run Code Online (Sandbox Code Playgroud)

iso8583

9
推荐指数
2
解决办法
3万
查看次数

与POS交互 - 终端设备和银行交换系统

我有一个项目,我需要与POS交互 - 终端设备和磁/芯片卡.假设客户从我的百货商店购买商品时,该商店的员工将对客户的金融卡进行分类并进行支付交易.

对于那些类似的系统,大多数论坛都说应该考虑使用第三方API,例如:

  • 贝宝
  • 布伦特里
  • Authorize.NET.
  • Google Check-Out API.

但我认为这些API应该用于那些将用于国际支付处理的系统.至于我,我认为我的系统没有国际支付处理那么大,并且将开始作为国内小型系统工作.

那么我想知道哪个是最佳解决方案以及系统架构将如何?

当我阅读Authorize.Net页面时,我找到了信用卡处理的例程.

  • 无论我的项目是大型还是小型,国际运行还是国内运行,我都需要遵循这整个程序吗?

  • 我是否真的需要按照此程序使用POS - 终端设备进行支付流程?

我知道的一件事是ISO 8583是必不可少的金融消息传递协议,因为我所在地区的大多数银行交换软件系统只使用这些消息传递格式.这意味着我不能使用其他消息格式,例如我们的NDC或D912.

credit-card jpos payment-processing iso8583

6
推荐指数
1
解决办法
3245
查看次数

SQL server varchar.toArray()或string.toArray()方法

我想将我的字符串数据转换为sql server中的数组.我尝试过如下.

SELECT '223456789' AS SerialOriginalCode
-- SerialOriginalCode 223456789
DECLARE @tbl_SerialOriginalVerion TABLE(ID INT, SerialOriginalCode INT);
INSERT INTO @tbl_SerialOriginalVerion VALUES
(1, 2),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, 6),
(7, 7),
(8, 8),
(9, 9);
SELECT * FROM @tbl_SerialOriginalVerion
Run Code Online (Sandbox Code Playgroud)

但它是手动方式,它不是程序化转换的方式,因为它需要我键入每一行的每个插入值.

有人可以建议我更多的方式吗?

sql t-sql sql-server

6
推荐指数
1
解决办法
391
查看次数

检查小数和数字的总长度

使用正则表达式,我可以检查它是否是小数

^\d*\.?\d*$
Run Code Online (Sandbox Code Playgroud)

但我想控制的是这些数字的总长度.

(^\d*\.?\d*$){1,10}
Run Code Online (Sandbox Code Playgroud)

但我还是无法控制它.

两天后,我的最终解决方案

(?=^\d*\.?\d*$)^.{1,10}$
Run Code Online (Sandbox Code Playgroud)

正则表达式可视化

Debuggex演示

c# regex

6
推荐指数
1
解决办法
607
查看次数