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)
{
SqlConnection conn = new SqlConnection("server=.;database=db_ExamOnline;uid=sa;pwd=123");
conn.Open();
SqlTransaction str = conn.BeginTransaction();//利用事務處理 防止中斷
int k = 0;
if (ds.Tables[0].Rows.Count < 1)
{
Response.Write("沒有資料!");
return;
}
try
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i][0].ToString() == "")
{
break;
}
else
{
string sqlStr = "insert into tb_test(testContent,testAns1,testAns2,testAns3,testAns4,rightAns,pub,testCourse,uid)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 += "1,";
sqlStr += "'" + this.ddlkm.SelectedItem.Text + "',";
sqlStr += "'" + this.DropDownList1.SelectedItem.Text + this.DropDownList2.SelectedItem.Text + "')";
SqlCommand cmd = new SqlCommand(sqlStr, conn, str);
cmd.Transaction = str;
k += cmd.ExecuteNonQuery();
}
}
str.Commit();
}
catch (Exception ex)
{
Response.Write("發生異常,資料已復原/n資訊/n" + ex.Message);
str.Rollback();
}
finally
{
Response.Write("上傳成功" + k + "條");
File.Delete(filePath);
}
}