如何样一个excel表的东西同时插入数据库两个表中
怎么样一个excel表的东西同时插入数据库两个表中?
将一个Excel表导入到数据库的两个表中:
现在下面的代码是插入到一个表内,怎样改一下代码变成插入到JC和JCXX两个表中?
第一个表字段为:序号,工作单位,劳动合同号,姓名,性别
第二个表字段为:婚姻状况,出生年月,学历
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
SqlConnection cn = new SqlConnection(strConn);
cn.Open();
string filename = DateTime.Now.ToString("yyyymmddhhmmss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)
{
Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
}
else
{
for (int i = 0; i < dr.Length; i++)
{
string LblXh = dr[i]["序号"].ToString();
string LstDw = dr[i]["工作单位"].ToString();
string TxtLdhth = dr[i]["劳动合同号"].ToString();
string TxtXm = dr[i]["姓名"].ToString();
string LstXb = dr[i]["性别"].ToString();
string LstHy = dr[i]["婚姻状况"].ToString();
string TxtCsny = dr[i]["出生年月"].ToString();
string LstXl = dr[i]["学历"].ToString();
string sqlcheck = "select count(*) from JC where LblXh='" + LblXh + "'And dw='" + LstDw + "'And ldhth='" + TxtLdhth + "'And xm='" + TxtXm + "'And xb='" + LstXb + "'";
SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn);
int count = Convert.ToInt32(sqlcmd.ExecuteScalar());
if (count < 1)
{
string insertstr = "insert into JC(LblXh,dw,ldhth,xm,xb,hy,csny,xl) values('" + LblXh + "','" + LstDw + "','" + TxtLdhth + "','" + TxtXm + "','" + LstXb + "','" + LstHy + "',";
insertstr += "'" + TxtCsny + "','" + LstXl + "') ";
SqlCommand cmd = new SqlCommand(insertstr, cn);
try
{
cmd.ExecuteNonQuery();
}
catch (MembershipCreateUserException ex) //捕捉异常
{
Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
}
}
else
{
Response.Write("<script>alert('内容重复!禁止导入');location='LbGrxxb.aspx'</script></script> ");
continue;
}
}
Response.Write("<script>alert('Excle表导入成功!');location='LbGrxxb.aspx'</script>");
}
cn.Close();
}
------解决思路----------------------
组织出来的数据再插入一次不就OK了么?
------解决思路----------------------
2个表跟一个表不一样的么?
执行2次就可以了
将一个Excel表导入到数据库的两个表中:
现在下面的代码是插入到一个表内,怎样改一下代码变成插入到JC和JCXX两个表中?
第一个表字段为:序号,工作单位,劳动合同号,姓名,性别
第二个表字段为:婚姻状况,出生年月,学历
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
SqlConnection cn = new SqlConnection(strConn);
cn.Open();
string filename = DateTime.Now.ToString("yyyymmddhhmmss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)
{
Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
}
else
{
for (int i = 0; i < dr.Length; i++)
{
string LblXh = dr[i]["序号"].ToString();
string LstDw = dr[i]["工作单位"].ToString();
string TxtLdhth = dr[i]["劳动合同号"].ToString();
string TxtXm = dr[i]["姓名"].ToString();
string LstXb = dr[i]["性别"].ToString();
string LstHy = dr[i]["婚姻状况"].ToString();
string TxtCsny = dr[i]["出生年月"].ToString();
string LstXl = dr[i]["学历"].ToString();
string sqlcheck = "select count(*) from JC where LblXh='" + LblXh + "'And dw='" + LstDw + "'And ldhth='" + TxtLdhth + "'And xm='" + TxtXm + "'And xb='" + LstXb + "'";
SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn);
int count = Convert.ToInt32(sqlcmd.ExecuteScalar());
if (count < 1)
{
string insertstr = "insert into JC(LblXh,dw,ldhth,xm,xb,hy,csny,xl) values('" + LblXh + "','" + LstDw + "','" + TxtLdhth + "','" + TxtXm + "','" + LstXb + "','" + LstHy + "',";
insertstr += "'" + TxtCsny + "','" + LstXl + "') ";
SqlCommand cmd = new SqlCommand(insertstr, cn);
try
{
cmd.ExecuteNonQuery();
}
catch (MembershipCreateUserException ex) //捕捉异常
{
Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
}
}
else
{
Response.Write("<script>alert('内容重复!禁止导入');location='LbGrxxb.aspx'</script></script> ");
continue;
}
}
Response.Write("<script>alert('Excle表导入成功!');location='LbGrxxb.aspx'</script>");
}
cn.Close();
}
------解决思路----------------------
组织出来的数据再插入一次不就OK了么?
------解决思路----------------------
2个表跟一个表不一样的么?
执行2次就可以了