/// 上傳文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Updatebtn_Click(object sender, EventArgs e)
{
string fileName = fileId.FileName;
string savePath = Server.MapPath("~/upload/");
FileOperatpr(fileName, savePath);
fileId.SaveAs(savePath + fileName);
DataOperator(fileName, savePath);
}
/// <summary>
/// 數據操作
/// </summary>
/// <param name="fileName"></param>
/// <param name="savePath"></param>
private void DataOperator(string fileName, string savePath)
{
string myString = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + savePath + fileName + ";Extended Properties=Excel 8.0";
OleDbConnection oconn = new OleDbConnection(myString);
oconn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter oda = new OleDbDataAdapter("select * from [Sheet1$]", oconn);
oda.Fill(ds);
oconn.Close();
DataSetOperator(ds, savePath + fileName);
}
/// <summary>
/// 數據集操作
/// </summary>
/// <param name="ds"></param>
private void DataSetOperator(DataSet ds, string filePath)
{
//CustomerDB customer = new CustomerDB();
//SqlConnection conn = customer.getcon();
SqlConnection conn = new SqlConnection("Data Source=.;Database=ServiceDB;uid = sa; pwd=sa");
conn.Open();
SqlTransaction str = conn.BeginTransaction();//利用事務處理 防止中斷
int k = 0;
if (ds.Tables[0].Rows.Count < 1)
{
Response.Write("<script>alert('Not data!')</script>");
return;
}
try
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sqlStr = "insert into Store(PartNo,StoreLocation,Model,PartName,FactoryCode,BOXNO,PKNO)values";
sqlStr += "('" + ds.Tables[0].Rows[i][0].ToString() + "','";
sqlStr += ds.Tables[0].Rows[i][1].ToString() + "','";
sqlStr += ds.Tables[0].Rows[i][2].ToString() + "','";
sqlStr += ds.Tables[0].Rows[i][3].ToString() + "','";
sqlStr += ds.Tables[0].Rows[i][4].ToString() + "','";
sqlStr += ds.Tables[0].Rows[i][5].ToString() + "',";
sqlStr += "'" + ds.Tables[0].Rows[i][6].ToString() + "')";
Response.Write("sqlStr:" + sqlStr);
SqlCommand cmd = new SqlCommand(sqlStr, conn, str);
cmd.Transaction = str;
k += cmd.ExecuteNonQuery();
}
str.Commit();
}
catch (Exception ex)
{
Response.Write("Error,Data has been rolled back/nInformation/n" + ex.Message);
str.Rollback();
}
finally
{
Response.Write("<script>alert('Upload complete" + k + "item')</script>");
File.Delete(filePath);
}
}
/// <summary>
/// 文件操作
/// </summary>
/// <param name="fileName"></param>
/// <param name="savePath"></param>
private void FileOperatpr(string fileName, string savePath)
{
if (!Directory.Exists(savePath))
{
Directory.CreateDirectory(savePath);
}
if (File.Exists(savePath + fileName))
{
File.Delete(savePath + fileName);
}
}