这是一张yx.txt文本
0112 aa jj
0234 bb kk
0333 cc ii
0422 dd oo
0522 ff ll
0644 gg mm
0755 aa nn
0866 bb vv
我要读取后导入数据库表yy中
另xx.txt文本
1122 aa jj
8899 bb kk
其中第1列为ID列导入表中是主键如果表中有数据3条ID为1122,8899和3322 到入时 将txt中ID1122,8899覆盖数据库表中的数据怎么做...求详细代码 谢谢
用.NET程序做
0112 aa jj
0234 bb kk
0333 cc ii
0422 dd oo
0522 ff ll
0644 gg mm
0755 aa nn
0866 bb vv
我要读取后导入数据库表yy中
另xx.txt文本
1122 aa jj
8899 bb kk
其中第1列为ID列导入表中是主键如果表中有数据3条ID为1122,8899和3322 到入时 将txt中ID1122,8899覆盖数据库表中的数据怎么做...求详细代码 谢谢
用.NET程序做
解决方案 »
- 用OLEDB从Excel提取数据有缺失
- 【哪个控件可以方便的显示键-值对,就像控件的属性窗口那样???】
- 如何提取屏幕中活动的部分,进行图像压缩。
- 想做一些c#winform开发,应该去什么样的公司?
- 求下载 C#视频教程
- 中文的文件名,打开时是乱码,英文和数字都是好的
- 如何把form1 放在 panel 中,bcb可以这样做,C#如何实现
- 刚到上海,那位可以给我介绍一份.net方面的工作。如下
- 在C#中怎样应用平方根函数.
- Remoting中传递了SqlParameter,出现System.Security.SecurityException,我该怎么解决啊?
- 字符串赋值为null和Empty有什么区别
- debug自动生成文件夹
{
string fPath = "c:\\aaa.txt";//获得要导入的文本文件
string constr = xxxxxxxxxxxx;
try
{
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
SqlCommand com = new SqlCommand("BULK INSERT mytab.dbo.b FROM '" + fPath + "' WITH (FIELDTERMINATOR = ' ',ROWTERMINATOR= '\n')", conn);
//其中的FIELDTERMINATOR=' '指明字段间所使用的分隔符为空格
//其中ROWTERMINATOR= '\n'指明记录间所使用的分隔符为回车
com.ExecuteNonQuery();
MessageBox.Show("数据导入成功!");
conn.Close();
}
}
catch(Exception exp)
{
MessageBox.Show(exp.ToString());
}
}第2个你变下思路改改就行了
还有那个txt数据之间不是空格 是Tab键
第2个问题一样啊,一行一行的读数据,第一列为ID,先判断ID是否存在,不存在就insert否则update
StreamReader sr = new StreamReader(ifs);
while (sr.ReadLine() != null)
{
//这就是一行行的读
}
StreamReader sr = new StreamReader(ifs);
int fileCount = 0;
while (sr.Peek() > -1)//StreamReader.Peek()返回下一个可用字符,但不使用它
{
Console.WriteLine(sr.ReadLine());
fileCount++;
}
sr.Close();这样
//...
//连接数据库
//... DbDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("select * from yy", conn);
DataTable dtYy = new DataTable();
adapter.Fill(dtYy);
StreamReader sr = new StreamReader(@"d:\yx.txt");
string line = sr.ReadLine();
while (line!=null)
{
line = sr.ReadLine();
string[] lineCols = line.Split(new string[] { " " }, StringSplitOptions.None); DataRow[] dtRows = dtYy.Select("id=" + lineCols[0]);
if (dtRows.Length > 0)
{
dtRows[0]["column2"] = lineCols[1];
dtRows[0]["column3"] = lineCols[2];
}
else
{
DataRow dr = dtYy.NewRow();
dr["id"] = lineCols[0];
dr["column2"] = lineCols[1];
dr["column3"] = lineCols[2];
dtYy.Rows.Add(dr);
} adapter.Update(dtYy);
}
string line = sr.ReadLine();
while (line!=null)
{
line = sr.ReadLine();
string[] lineCols = line.Split(new string[] { " " }, StringSplitOptions.None);