excel的一个Dataset更新数据库中读出的dataset,...高分....

poloyzhang 2010-07-29 04:02:21
我的要求如下:
excel 中的结构如下: 工号,姓名,社保基数,公积金基数,备注.

数据库中结构如下. 工号,姓名,类别,部门名称,社保基数,公积金基数,社保类备注,备注.
并且已经有记录.(假如如下:)
工号,姓名, 类别,部门名称,社保基数,公积金基数,社保类备注,备注.
0001,小王1, 职员, 制造部,
0002小王2,职员,制造部,
0003,小王3,职员,管理部,

excel表中结构和记录如下:
工号,姓名, ,社保基数,公积金基数,社保类备注,备注.
0001,小王1, 1800, 1900 未缴 无
0002小王2, 1800, 1900 已缴 有
0003,小王3, 1800, 1900 未缴 无
0004, 未有, 2000, 3500 已缴 有
--------------------------------------------------------------------
我要excel中的数据列更新到数据库中数据列去. 匹配条件是 工号= 工号.
excel中的0004记录在数据库中没有的则不更新.

-------------------------------------------------
我用datatable.merge方法发现全部当做新增的行了.

-----------------------------
现在想只要得到结果就行了,不用merge也行.以上是表的示例,可否给个代码参考一下..............................
我全部的分都给你...............................................................


...全文
151 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
linwanhai 2010-08-02
  • 打赏
  • 举报
回复
顶者有分
神之泪花 2010-08-02
  • 打赏
  • 举报
回复


---------楼主资料---------
登录名:poloyzhang
总技术分:406
总技术排名:48135
---------结贴情况---------
截至:2010-07-29 16:02:21
总发帖:13个
正常结贴:10个
未结贴:1
结贴率:92.31%
评语:楼主,你高的结贴率才是我们回答的动力!
--------------------------
vip__888 2010-08-02
  • 打赏
  • 举报
回复
how old are you?(怎么又是你)
whb147 2010-08-02
  • 打赏
  • 举报
回复
路过
围观一下
avalon 2010-08-02
  • 打赏
  • 举报
回复
群里头拿分!
十一文 2010-08-02
  • 打赏
  • 举报
回复
deyygywxf 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 poloyzhang 的回复:]
我已经把excel中的数据读到了exceldatset中.
具体如何做就不知道了.
用sqlcommand?
还是sqlcommandbuilder?
[/Quote]

用sqlcommand
poloyzhang 2010-07-31
  • 打赏
  • 举报
回复
来一个贴点真实代码的,马上结贴,........................
功能我已经实现了.但是和这楼上的没有一个是正确的.................................................................
所有我不想白给分啊!!!
asdfa23rdadsdfa 2010-07-29
  • 打赏
  • 举报
回复
友情帮顶。
poloyzhang 2010-07-29
  • 打赏
  • 举报
回复
我已经把excel中的数据读到了exceldatset中.
具体如何做就不知道了.
用sqlcommand?
还是sqlcommandbuilder?
poloyzhang 2010-07-29
  • 打赏
  • 举报
回复
SqlAccess是那里来的?
wwfgu00ing 2010-07-29
  • 打赏
  • 举报
回复
然后,根据上面的,就可以把数据插入到数据库了
wwfgu00ing 2010-07-29
  • 打赏
  • 举报
回复
public void ExcelToDS(string path)
{
string strSheetName = "sheet1";
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; //Sql语句
string strExcel = "select * from [" + strSheetName + "$] ";
DataSet ds = new DataSet(); //连接数据源
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open(); //适配到数据源
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn);
adapter.Fill(ds, "data");
conn.Close();
GridView1.DataSource = ds.Tables["data"];
GridView1.DataBind();
Label1.Text = ds.Tables[0].Rows.Count.ToString();
SqlAccess.Sqldatabase sql = new SqlAccess.Sqldatabase();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sb.Append("insert into data values('" + ds.Tables[0].Rows[i]["companyname"] + "','" + ds.Tables[0].Rows[i]["telname"] + "','" + ds.Tables[0].Rows[i]["qytel"] + "','" + ds.Tables[0].Rows[i]["fax"] + "');");
}
sql.ExecuteNonQuery(CommandType.Text, sb.ToString());
}
protected void Button1_Click(object sender, EventArgs e)
{
string fileName = null;
try
{
Boolean fileOK = false;
String path = Server.MapPath("./doc/");
if (FileUpload2.HasFile)
{
String fileExtension = System.IO.Path.GetExtension(FileUpload2.FileName).ToLower(); String[] allowedExtensions = { ".xls" }; //C#读取Excel中数据
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (fileExtension == allowedExtensions[i])
{
fileOK = true;
}
}
}
if (fileOK)
{
fileName = "r_" + DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + DateTime.Now.Millisecond + System.IO.Path.GetExtension(FileUpload2.FileName).ToLower();
if (File.Exists(path + fileName))
{
Random rnd = new Random(10000);
fileName = fileName + rnd.Next();
}
FileUpload2.PostedFile.SaveAs(path + fileName);
}
else
{
}
}

catch (Exception exp)
{ }
ExcelToDS(Server.MapPath(".") + "\\doc\\" + fileName);
}

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧