zoukankan      html  css  js  c++  java
  • SQLServer -------- 一表多用,将关联的表变成字符串存储(C# 字符转datatable)

    在进行表设计的时候,表之间的关联关系有很多,而关联表的有用字段可能很少而且用到的数据量也不会太大,可以将关联的表变成字符串存储

    如:一个订单有多个供应商订单,那么可以吧供应商信息存储到订单表其中一个字段中

    上述:同一行不同列使用 ~ 线分隔,不同行使用 | 分隔

    在借助字符串转换为dataTable 就可以得到一个被关联的供应商表了

     /// <summary>
        /// 1~2|3~4 与DataTable的相互转化,colName列名集合
        /// </summary>
        /// <param name="ss"></param>
        /// <param name="colName"></param>
        /// <returns></returns>
        public DataTable ConvertStrToDt(string ss, List<string> colName)
        {
            DataTable dt = new DataTable();
    
            string[] s1 = ss.Split('|');
            for (int i = 0; i <= s1.Length - 1; i++)
            {
                string[] s2 = s1[i].Split('~');
                DataRow drow = dt.NewRow();
    
                for (int j = 0; j <= colName.Count - 1; j++)
                {
                    if (i == 0)
                        dt.Columns.Add(colName[j]);
                    drow[colName[j]] = s2[j];
                }
                dt.Rows.Add(drow);
            }
            return dt;
        }

    不同的数据库设计,对程序的影响还是很大的,这只是一种实现方式

  • 相关阅读:
    mybatis 之 占位符#{} 和 ${}
    mybatis的#{}占位符和${}拼接符的区别
    MyBatis 批量操作、集合遍历-foreach
    Oracle查看和修改连接数
    linux下启动关闭oracle
    kafka的OffsetOutOfRangeError
    redis批量删除key
    mysql连接慢,修改配置文件
    [linux] ping服务器脚本
    oracle游标
  • 原文地址:https://www.cnblogs.com/obge/p/14036473.html
Copyright © 2011-2022 走看看