读取文件批量生成标准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下载

posted @ 2012-07-21 15:12  逆水寒龙  阅读(557)  评论(0编辑  收藏  举报