• 从已有数据库表生成Insert语句的小工具


      有时,需要把数据从一个数据库转移到另一个数据库,如果数据不是很多,但是又不是手工可以完成那么少,就可以使用该小工具了。

    该小小工具将一个表里的所有数据生成insert into 语句。其实现方式是:将数据读入到DataTable,然后逐行生成Sql语句,主要代码如下:

     public string GetInsertSql(string tableName)
            {
                string sql = string.Empty;
                DataBase db = new DataBase();
                DataSet ds = db.GetEntity(tableName);
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    sql += this.GetSqlByDataRow(item, ds.Tables[0]);
                }
                return sql;
            }
    
            private string GetSqlByDataRow(DataRow row, DataTable dataTable)
            {
                StringBuilder sql = new StringBuilder("insert into ");
                sql.Append(dataTable.TableName);
                sql.Append("(");
                foreach (DataColumn item in dataTable.Columns)
                {
                    sql.Append(item.ColumnName);
                    sql.Append(",");
                }
                sql.Remove(sql.Length - 1, 1);
                sql.Append(")");
                sql.Append("values");
                sql.Append("(");
                foreach (DataColumn item in dataTable.Columns)
                {
                    if (row[item] == DBNull.Value)
                    {
                        sql.Append("null");
                    }
                    else
                    {
                        sql.Append("'");
                        if (item.DataType == typeof(DateTime))
                        {
                            sql.Append(Convert.ToDateTime(row[item]).ToString("yyyy-MM-dd HH:mm:ss"));
                        }
                        else
                        {
                            sql.Append((row[item]).ToString());
                        }
                        sql.Append("'");
                    }
                    sql.Append(",");
                }
                sql.Remove(sql.Length - 1, 1);
                sql.Append(");\r\n");
                return sql.ToString();
            }
    

    点击下载项目

  • 相关阅读:
    python项目文件夹
    内置函数
    函数的递归
    python入门之模块
    匿名函数
    生成器表达式
    三元表达式
    列表生成式
    input相关问题总结
    表单验证
  • 原文地址:https://www.cnblogs.com/zzy0471/p/1946489.html
Copyright © 2020-2023  润新知