当前位置: 首页 > news >正文

南昌做网站后台投票网络推广页面

南昌做网站后台投票,网络推广页面,虚拟主机如何安装WordPress,网站后台设置关键词在哪设有时候对于已经查询到的数据集,想要进行二次筛选或者查询,还得再查一遍数据库 或者其他的一些逻辑处理不太方便,就想着为什么不能直接使用sql来查询DataTable呢? 搜索全网没找到可用方案,所以自己实现了一个。 主要…

有时候对于已经查询到的数据集,想要进行二次筛选或者查询,还得再查一遍数据库

或者其他的一些逻辑处理不太方便,就想着为什么不能直接使用sql来查询DataTable呢?

搜索全网没找到可用方案,所以自己实现了一个。

主要实现思路是使用 SQLite In-Memory Database 内存数据库,

需要的包主要是

System.Data.SQLite和 SqlSugar

代码如下

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SQLiteHelper
{public static class SQLiteHelper{public static SqlSugarClient getToSQLiteInMemorySqlSugar(DataTable dt){SQLiteConnection conn = SQLiteHelper.ToSQLiteInMemory(dt);//创建配置并指定连接字符串var config = new ConnectionConfig(){ConnectionString = conn.ConnectionString,DbType = SqlSugar.DbType.Sqlite};//创建SqlSugarClientvar db = new SqlSugarClient(config);//手动指定底层连接为已有的SQLite连接db.Ado.Connection = conn;return db;}private static string GetSQLiteType(Type t){if (t == typeof(string)) return "TEXT";else if (t == typeof(int)) return "INTEGER";else if (t == typeof(double)) return "REAL";else if (t == typeof(decimal)) return "NUMERIC";else return "BLOB";}private static SQLiteConnection ToSQLiteInMemory(DataTable dt){// 创建SQLite in-memory数据库连接SQLiteConnection conn = new SQLiteConnection("Data Source=:memory:");conn.Open();// 创建表结构SQLiteCommand cmd = conn.CreateCommand();string createTableSql = $"CREATE TABLE {dt.TableName} (";foreach (DataColumn col in dt.Columns){createTableSql += $"{col.ColumnName} {GetSQLiteType(col.DataType)}, ";}createTableSql = createTableSql.TrimEnd(',', ' ');createTableSql += ")";cmd.CommandText = createTableSql;cmd.ExecuteNonQuery();// 将DataTable bulk insert到SQLite表中using (SQLiteTransaction tran = conn.BeginTransaction()){using (SQLiteCommand insertCmd = new SQLiteCommand(conn)){insertCmd.CommandText = $"INSERT INTO {dt.TableName} VALUES({string.Join(",", dt.Columns.Cast<DataColumn>().Select(x => "@" + x.ColumnName))})";foreach (DataRow row in dt.Rows){foreach (DataColumn col in dt.Columns){insertCmd.Parameters.AddWithValue("@" + col.ColumnName, row[col.ColumnName]);}insertCmd.ExecuteNonQuery();insertCmd.Parameters.Clear();}tran.Commit();}}return conn;}}
}

调用示例

			// 创建DataTable,添加列DataTable dt = new DataTable("Products");dt.Columns.Add("Id", typeof(int));dt.Columns.Add("Name", typeof(string));dt.Columns.Add("Price", typeof(decimal));// 添加表到DataSetds.Tables.Add(dt);// 填充几行数据dt.Rows.Add(1, "Apple", 1.99m);dt.Rows.Add(2, "Orange", 2.99m);dt.Rows.Add(3, "Banana", 0.99m);var db = SQLiteHelper.getToSQLiteInMemorySqlSugar(dt);//查询结果var ret = db.Ado.SqlQuery<dynamic>("select * from Products").ToList();

这样就实现了sql查询DataTable的功能

原创不易,能帮到你的话,关注,评论,点赞,收藏走一波。

http://www.hkea.cn/news/957580/

相关文章:

  • 怎么注册公司支付宝账号seo求职信息
  • 多语言网站怎么做网络推广平台公司
  • 山东公司注册网站怎样写营销策划方案
  • 河北省香河县建设局网站中国互联网协会
  • 北京丰台区网站建设游戏推广赚佣金的平台
  • 网站没排名怎么办搜索引擎广告优化
  • wordpress内容主题模板网络网站推广选择乐云seo
  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻
  • 男装网站的网站建设背景惠州seo按天计费
  • 如何快速提高网站排名互联网项目推广
  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司