真心急求!C#程序代码,读取另一台电脑上的txt文件数据 C#套接字互联SQL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 读取局域网电脑(共享访问)的txt文件,根据你的txt数据形式,可以使用StreamReader对象一行一行的读取。同时通过ado.net插入到数据库指定的表当中。http://www.cnblogs.com/ManMonth/archive/2011/10/11/2206998.html 用WNetAddConnection2 API建立共享连接用File.ReadAllLines读取文件 这是我用过的代码,方法不一定最好,你参考一下: public class ConnDb { SqlConnection conn = null; //下面是构造函数连接数据库 public ConnDb() { if (conn == null)//判断连接是否为空 { conn = new SqlConnection(); conn.ConnectionString = "Data Source=192.168.1.1;Initial Catalog=data;uid=sa;pwd=sa;"; } if (conn.State == ConnectionState.Closed) { try { conn.Open();//打开数据库连接 } catch (Exception ee) { //Response.Write(ee.Message); MessageBox.Show(ee.Message); } finally { conn.Close(); } } } //下面这个方法是从数据库中查找数据的方法 public DataSet query(string sql) { DataSet ds = new DataSet();//DataSet是表的集合 SqlDataAdapter da = new SqlDataAdapter(sql, conn); da.Fill(ds);//将数据填充到DataSet connClose();//关闭连接 return ds;//返回结果 } //下面的方法是对数据库进行更新 public int add(string sql) { SqlCommand oc = new SqlCommand(); int icount = 0; oc.CommandText = sql; oc.CommandType = System.Data.CommandType.Text; oc.Connection = conn;//设置命令的连接 if (conn.State != ConnectionState.Open) { try { conn.Open(); icount = (int)oc.ExecuteNonQuery(); } catch (Exception ee) { throw ee; } finally { conn.Close(); conn.Dispose(); } } return icount; } public int seldata(string sql) { SqlCommand sqlcmd = new SqlCommand(); sqlcmd.CommandText = sql; sqlcmd.CommandType = System.Data.CommandType.Text; sqlcmd.Connection = conn; int icot = 0; if (conn.State != ConnectionState.Open) { conn.Open(); } SqlDataReader dr = sqlcmd.ExecuteReader(); dr.Read(); if (dr.HasRows) { icot = 1; } else { icot = 0; } conn.Close(); conn.Dispose(); return icot; } public void deldata(string sql) { SqlCommand sqlcmd = new SqlCommand(); sqlcmd.CommandText = sql; sqlcmd.CommandType = System.Data.CommandType.Text; sqlcmd.Connection = conn;//设置命令的连接 int icount = 0; if (conn.State != ConnectionState.Open) { try { conn.Open(); icount = (int)sqlcmd.ExecuteNonQuery(); } catch (Exception ee) { throw ee; } finally { conn.Close(); conn.Dispose(); } } } public void connClose() { if (conn.State == ConnectionState.Open) { //判断数据库的连接状态,如果状态是打开的话就将它关闭 conn.Close(); conn.Dispose(); } } } private int add_sql(string sql) { int x = new ConnDb().add(sql);//通过ConnDb()对象的update()方法执行sql语句并返回一个影响行数 if (x > 0) { // toolStripStatusLabel1.Text = DateTime.Now + " " + "该时次文件入库成功!"; } else { //toolStripStatusLabel1.Text = DateTime.Now + " " + "该时次文件入库失败!"; } return x; } private void button4_Click(object sender, RoutedEventArgs e) { try { string datapath = @"\\192.168.1.2\data\data.txt"; using (StreamReader sr = new StreamReader(datapath)) { String line; while ((line = sr.ReadLine()) != null) { string txt = line; ConnDb cdb = new ConnDb(); string sql1 = string.Format("select * from 表"); int iReturn = cdb.seldata(sql1); if (iReturn == 0) //数据库里没有数据就入到表里 { string sql = string.Format("insert into 表(txt) values('{0}')", txt); listBox2.Items.Insert(0, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 文件已入库!!"); } } } } catch (Exception e) { Console.WriteLine(e.Message); } } 我是帮你想成一行一条记录了,如果整个内容就一条记录,就用File.ReadAllLines, 重新写一个:四列四个字段,四行对吧。你根据你的实际情况,再修改一下,很容易了 public static void insert_data(string s1, string s2, string s3,string s4) { string strCon = "Data Source=192.168.1.2;Initial Catalog=test;User ID=sa;Pwd=sa"; //mdb 当然是同一个目录下了 SqlConnection myConn = new SqlConnection(strCon); string insert_sql = "insert into table_name column_name1,column_name2,column_name3,column_name4) values ('" + s1 + "'" + s2 + "'" + s3 + "'" + s4 + "')"; SqlCommand cmd = new SqlCommand(insert_sql, myConn); try { myConn.Open(); cmd.ExecuteNonQuery(); } catch { } finally { myConn.Close(); } } private void button11_Click(object sender, EventArgs e) { try { string datapath = @"\\192.168.1.2\data\data.txt"; using (StreamReader sr = new StreamReader(datapath)) { String line; while ((line = sr.ReadLine()) != null) { string txt = line; string[] s = txt.Split(' '); insert_data(s[0], s[1], s[2], s[3] + " " + s[4]); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } 模拟账户跨服务器上传下载文件http://www.yyzq.net/Product?ID=7希望能给你一些启发 有多大问题?1. 从局域网读取文件? 共享方式或是http、ftp下载2. 分析txt文件? 按协定的分隔符进行分隔,组织sql,执行,可能需要一个事务楼主哪不会?就一块一块做,再整合到一起 采用ftp技术进行局域网的下载 使用远程访问方式获取txt对象,然后用StreamReader一行一行的读取。 都共享了就可以读取啊!也可以用Socket读取! C#window服务中执行URL 问一下winform自动回复的问题 vs2005中输入法全角问题 Linq 的自定义聚合方法的问题。 如何给动态页传参 如何用c#读取和操作html文件 UDP问题! WPF下如何直接播放YUV视频流 看看这段代码 学习C#的一个好助手 不是合法的OleAut日期? brush
http://www.cnblogs.com/ManMonth/archive/2011/10/11/2206998.html
用File.ReadAllLines读取文件
{
SqlConnection conn = null;
//下面是构造函数连接数据库
public ConnDb()
{
if (conn == null)//判断连接是否为空
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=192.168.1.1;Initial Catalog=data;uid=sa;pwd=sa;"; } if (conn.State == ConnectionState.Closed)
{
try
{
conn.Open();//打开数据库连接
}
catch (Exception ee)
{
//Response.Write(ee.Message);
MessageBox.Show(ee.Message);
}
finally
{
conn.Close();
} }
} //下面这个方法是从数据库中查找数据的方法
public DataSet query(string sql)
{
DataSet ds = new DataSet();//DataSet是表的集合
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds);//将数据填充到DataSet
connClose();//关闭连接
return ds;//返回结果
}
//下面的方法是对数据库进行更新
public int add(string sql)
{
SqlCommand oc = new SqlCommand();
int icount = 0;
oc.CommandText = sql;
oc.CommandType = System.Data.CommandType.Text;
oc.Connection = conn;//设置命令的连接
if (conn.State != ConnectionState.Open)
{
try
{
conn.Open();
icount = (int)oc.ExecuteNonQuery();
}
catch (Exception ee)
{
throw ee;
}
finally
{
conn.Close();
conn.Dispose();
}
} return icount;
} public int seldata(string sql)
{ SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandText = sql;
sqlcmd.CommandType = System.Data.CommandType.Text;
sqlcmd.Connection = conn;
int icot = 0; if (conn.State != ConnectionState.Open)
{
conn.Open();
}
SqlDataReader dr = sqlcmd.ExecuteReader();
dr.Read();
if (dr.HasRows)
{
icot = 1;
}
else
{
icot = 0;
}
conn.Close();
conn.Dispose();
return icot;
}
public void deldata(string sql)
{
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandText = sql;
sqlcmd.CommandType = System.Data.CommandType.Text;
sqlcmd.Connection = conn;//设置命令的连接
int icount = 0;
if (conn.State != ConnectionState.Open)
{
try
{
conn.Open();
icount = (int)sqlcmd.ExecuteNonQuery();
}
catch (Exception ee)
{
throw ee;
}
finally
{
conn.Close();
conn.Dispose();
}
} }
public void connClose()
{
if (conn.State == ConnectionState.Open)
{
//判断数据库的连接状态,如果状态是打开的话就将它关闭
conn.Close();
conn.Dispose();
}
} }
private int add_sql(string sql)
{ int x = new ConnDb().add(sql);//通过ConnDb()对象的update()方法执行sql语句并返回一个影响行数 if (x > 0)
{
// toolStripStatusLabel1.Text = DateTime.Now + " " + "该时次文件入库成功!";
}
else
{
//toolStripStatusLabel1.Text = DateTime.Now + " " + "该时次文件入库失败!";
}
return x;
} private void button4_Click(object sender, RoutedEventArgs e)
{ try
{
string datapath = @"\\192.168.1.2\data\data.txt";
using (StreamReader sr = new StreamReader(datapath))
{
String line;
while ((line = sr.ReadLine()) != null)
{
string txt = line;
ConnDb cdb = new ConnDb();
string sql1 = string.Format("select * from 表");
int iReturn = cdb.seldata(sql1);
if (iReturn == 0) //数据库里没有数据就入到表里
{
string sql = string.Format("insert into 表(txt) values('{0}')", txt);
listBox2.Items.Insert(0, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " 文件已入库!!");
} }
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
你根据你的实际情况,再修改一下,很容易了
public static void insert_data(string s1, string s2, string s3,string s4)
{ string strCon = "Data Source=192.168.1.2;Initial Catalog=test;User ID=sa;Pwd=sa"; //mdb 当然是同一个目录下了
SqlConnection myConn = new SqlConnection(strCon);
string insert_sql = "insert into table_name column_name1,column_name2,column_name3,column_name4) values ('" + s1 + "'" + s2 + "'" + s3 + "'" + s4 + "')";
SqlCommand cmd = new SqlCommand(insert_sql, myConn);
try
{
myConn.Open();
cmd.ExecuteNonQuery();
}
catch
{ }
finally
{
myConn.Close();
} }
private void button11_Click(object sender, EventArgs e)
{
try
{
string datapath = @"\\192.168.1.2\data\data.txt";
using (StreamReader sr = new StreamReader(datapath))
{
String line;
while ((line = sr.ReadLine()) != null)
{
string txt = line;
string[] s = txt.Split(' ');
insert_data(s[0], s[1], s[2], s[3] + " " + s[4]);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
http://www.yyzq.net/Product?ID=7
希望能给你一些启发
1. 从局域网读取文件?
共享方式或是http、ftp下载
2. 分析txt文件?
按协定的分隔符进行分隔,组织sql,执行,可能需要一个事务
楼主哪不会?就一块一块做,再整合到一起