zoukankan      html  css  js  c++  java
  • 读取文件批量生成标准sql语句

    最近老是要导数据,而且这些数据是有规律的,这样是不是可以写点代码搞定呢

    生成sql语句直接插入不是很爽吗,主要采用了.net里的split方法,点这里有split的用法讲解,很详细

    先上代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.IO;
    using Brettle.Web;
    using System.Text;
    using System.Text.RegularExpressions;
    
    public partial class split : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    
        /// <summary>
        /// 读取txt文件的内容
        /// </summary>
        /// <returns>以字符串类型返回</returns>
        protected string gettext(string FilePath)
        {
            //StreamReader objStreamReader = File.OpenText(FilePath);
            FileStream fs=new FileStream(FilePath,FileMode.Open,FileAccess.Read);
            StreamReader objStreamReader = new StreamReader(fs, Encoding.Default);
            string contents = objStreamReader.ReadToEnd();
            fs.Close();
            return contents;
        }
        
    
        /// <summary>
        /// 生成sql语句
        /// </summary>
        /// <returns>返回标准sql语句</returns>
        protected void birthsql(string str)
        {
            string[] strarr = str.Split('/');
            int j = 10;
            foreach (string i in strarr)
            {
                Response.Write("insert into infect_name_dict_bak(item_code,item_no,item_name) values('A"+j.ToString()+"',"+j.ToString()+",'" + i.ToString() + "');<br/>");
                j++;
            }
            //Response.Write(strarr.Length);
        }
    
        /// <summary>
        /// 读取文件,label控件显示内容
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ReadButton_Click(object sender, EventArgs e)
        {
            string str = FileTextBox.Text.ToString().Trim();
            PathLabel.Text = Server.MapPath(str);
        }
    
        /// <summary>
        /// 点击生成sql语句
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BirthButton_Click(object sender, EventArgs e)
        {
            //Response.Write(gettext(PathLabel.Text.ToString()));
            birthsql(gettext(PathLabel.Text.ToString()));
        }
    }
    

      前台代码

        <form id="form1" runat="server">
        <asp:TextBox ID="FileTextBox" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="ReadButton" runat="server" Text="读取文件" 
            onclick="ReadButton_Click" />
        <asp:Label ID="PathLabel" runat="server" Text=""></asp:Label>
        <br />
        <br />
        <asp:Button ID="BirthButton" runat="server" onclick="BirthButton_Click" 
            Text="生成" />
        </form>

    读取文件放在根目录下,先读取后生成
    demo下载

    -------------------------------------------------

    保持专注,只做一件事,做好这件事!@

    -------------------------------------------------

  • 相关阅读:
    【LOJ6041】「雅礼集训 2017 Day7」事情的相似度(用LCT维护SAM的parent树)
    【BZOJ1171】大sz的游戏(线段树+单调队列)
    2019年4月训练记录(4.07~4.22)
    【BZOJ4766】文艺计算姬(prufer序列)
    【BZOJ4573】[ZJOI2016] 大森林(LCT)
    2019.03.19 ZJOI2019模拟赛 解题报告
    【牛客挑战赛30D】小A的昆特牌(组合问题抽象到二维平面)
    【洛谷2624】[HNOI2008] 明明的烦恼(Python+利用prufer序列结论求解)
    【洛谷2290】[HNOI2004] 树的计数(Python+利用prufer序列结论求解)
    初识prufer序列
  • 原文地址:https://www.cnblogs.com/24la/p/2602346.html
Copyright © 2011-2022 走看看