下面是一个从一个text文件读出四行数据,现在的问题是,我如何把这个数据分成三列保存到数据库里
JA0600001,,0B003F0E3E,绿色
JA0600002,,0B003F4F5F,绿色
JA0600003,,0B003F3175,绿色
JA0600004,,0B003F13BE,绿色
JA0600001,,0B003F0E3E,绿色
JA0600002,,0B003F4F5F,绿色
JA0600003,,0B003F3175,绿色
JA0600004,,0B003F13BE,绿色
然后通过索引将你要的存入三个数组
应该就能分清楚了吧
string[] lines = System.IO.File.ReadAllLines(path, System.Text.Encoding.UTF8);
foreach (string line in lines) {
string[] items = line.Split(new char[] { ',' });
string sql = String.Format("INSERT INTO MyTable(Col1, Col2, , Col3) VALUES('{0}', '{1}', '{2}')",
items[0], items[2], items[3]);
// 写入数据库
// ....
}
foreach (string line in lines) {
string[] items = line.Split(new char[] { ',' });
string sql = String.Format("INSERT INTO MyTable(Col1, Col2, , Col3) VALUES('{0}', '{1}', '{2}')",
items[0], items[2], items[3]);
JA0600002,,0B003F4F5F,绿色
JA0600003,,0B003F3175,绿色
JA0600004,,0B003F13BE,绿色";
test = test.Replace(",,", ",");
string[] arrLines = test.Split('\n');
foreach (string s in arrLines)
{
string[] arrItems = s.Split(',');
if (arrItems.Length == 3)
{
//这里写数据库
//Response.Write(arrItems[0] + "<br>");
//Response.Write(arrItems[1] + "<br>");
//Response.Write(arrItems[2] + "<br>");
}
}如果是未读入或是大量数据,可以用2楼的方法
其实就一个Split方法的运用,这种问题楼主自己多尝试一下,应该能搞定的
已按照这两位仁兄(Jingleca,shoushii)的代码测试了
上述问题字符串转换成字段数组的问题已得到解决,现在还有两个问题:
1、文字取出来的是乱码,"绿色"取过来是"????",我换了Unicode还是一样
2、如何把得到的数组显示在gridview里,本人刚接触C#做web应用程序编程,往大师多指点,谢谢!
string[] lines = System.IO.File.ReadAllLines(path, System.Text.Encoding.ASCII);
你说的对,改过来了,可以显示文字了,现在第二个问题怎么解决,呵呵,谢谢!
gridview.DataSource = items;
gridview.DataBind();
这样不知道行不行,但是没有数据显示?
gridview.DataBind();这样以后操作也方便
用里面的DTS直接读取TXT文件,把格式设置好,直接读进数据库里.
DataTable dt = new DataTable("detailFY");
DataRow rw;
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.AllowDBNull = false;
column.Caption = "zich";
column.ColumnName = "zich";
column.DefaultValue = 25;
dt.Columns.Add(column); column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.AllowDBNull = true ;
column.Caption = "yuanzch";
column.ColumnName = "yuanzch";
column.DefaultValue = 25;
dt.Columns.Add(column); column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.AllowDBNull = true;
column.Caption = "yans";
column.ColumnName = "yans";
column.DefaultValue = 25;
dt.Columns.Add(column); foreach (string line in lines)
{
string[] items = line.Split(new char[] { ',' }); //string sqlInSert = String.Format("INSERT INTO jl_qianfda(zich, yuanzch, yans) VALUES('{0}', '{1}', '{2}')", items[0], items[2], items[3]);
//InsertData(sqlInSert ); rw = dt.NewRow();
rw["zich"] = items[0];
rw["yuanzch"] = items[1];
rw["yans"] = items[2];
}
GviewDetail.DataSource = dt;
GviewDetail.DataBind();
<asp:GridView ID="GviewDetail" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="zich" />
<asp:BoundField DataField="yuanzch" />
<asp:BoundField DataField="yans" />
</Columns>
</asp:GridView>
rw["yuanzch"] = items[2];
rw["yans"] = items[3];