sqlite中替代变量的一种解决方法

复制代码
   public static DataTable GetAnPaiBySYSID(String ShiYanShiID)
        {
            DataTable rdt = new DataTable();
            //建立数据库连接
            SQLiteDBManager dba = new SQLiteDBManager();
            try
            {
                string sSql = @"DELETE FROM VarTable;
                                INSERT INTO VarTable (
                                                         name,
                                                         value
                                                     )
                                                     SELECT 'AheadTimePart' AS name,
                                                            '-' || PeiZhiXiangZhi || ' minutes'
                                                       FROM LM_JC_XiTongPeiZhiXiang
                                                      WHERE PeiZhiXiangID = 'LM_PZS_0025';

                                INSERT INTO VarTable (
                                                         name,
                                                         value
                                                     )
                                                     SELECT 'DelayTimePart' AS name,
                                                            '+' || PeiZhiXiangZhi || ' minutes'
                                                       FROM LM_JC_XiTongPeiZhiXiang
                                                      WHERE PeiZhiXiangID = 'LM_PZS_0025';

                                SELECT KaoQingAnPaiID,
                                       ShiYanShiID,
                                       MenName,
                                       KaiShiRiQi,
                                       JieShuRiQi,
                                       ShiFouMoRen,
                                       SystemType,
                                       SystemTypeInfo
                                  FROM LM_KQ_KaoQingAnPai
                                 WHERE ShiYanShiID = @ShiYanShiID AND 
                                       datetime('now', '+8 hour') >= datetime(KaiShiRiQi, (
                                                                                  SELECT value
                                                                                    FROM vartable
                                                                                   WHERE name = 'AheadTimePart' limit 1
                                                                              )
                                                                     ) AND 
                                       datetime('now', '+8 hour') <= datetime(JieShuRiQi, (
                                                                                  SELECT value
                                                                                    FROM vartable
                                                                                   WHERE name = 'DelayTimePart' limit 1
                                                                              )
                                                                     ) ";
                SQLiteParameter[] array = new SQLiteParameter[] { new SQLiteParameter("@ShiYanShiID", ShiYanShiID.ToUpper()) };
                // 执行查询语句
                rdt = dba.GetSqlDataTable(sSql, array);
            }
            catch (Exception ex)
            {
                //抛出异常
                throw ex;
            }
            finally
            {
                dba.Dispose();
            }
            return rdt;
        }
复制代码

 

posted @   Coder_小菜  阅读(3151)  评论(0编辑  收藏  举报
编辑推荐:
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
阅读排行:
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· 一文搞懂MCP协议与Function Call的区别
· 如何不购买域名在云服务器上搭建HTTPS服务
点击右上角即可分享
微信分享提示