最近老是要导数据,而且这些数据是有规律的,这样是不是可以写点代码搞定呢
生成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下载