我正在從Excel表導入數據到數據庫。我能夠成功地將數據從excel導入到database.i想知道如何添加只有新行從Excel表格到數據庫,而無需添加以前的數據。如何只插入新行從Excel表到數據庫
for (int i = 0; i < exceltable.Rows.Count; i++)
{
if (i > 1)
{
DataRow row = exceltable.Rows[i];
object ID = row[0].ToString();
if (ID != null && !String.IsNullOrEmpty(ID.ToString().Trim()))
{
Int16 CustID = Convert.ToInt16(ID);
string CustName = row[1].ToString();
string CardScheme = row[2].ToString();
string Outlet = row[3].ToString();
string TerminalNum = row[4].ToString();
Int32 Terminal = Convert.ToInt32(TerminalNum);
string Date1 = row[5].ToString();
DateTime Date = Convert.ToDateTime(Date1);
string Time = row[6].ToString();
DateTime DateTime = Convert.ToDateTime(Time);
string Amount1 = row[7].ToString();
double Amount = Convert.ToDouble(Amount1);
string columnNames = "CustID,CustName,CardScheme,Outlet,TerminalNum,TranDate,TranDateTime,Amount";
string query1 = String.Format("insert into customer({0})values ('{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", columnNames, CustID, CustName, CardScheme, Outlet, Terminal, Date, DateTime, Amount);
SqlCommand com = new SqlCommand(query1, connection);
com.ExecuteNonQuery();
}
**// else if (i==exceltable.Rows[exceltable.Rows.Count-1]-1)
//{
// DataRow Newrow = exceltable.NewRow();
// Newrow["CustID"] = row[0].ToString();
// Newrow["CustName"] = row[1].ToString();
// Newrow["CardScheme"] = row[2].ToString();
// Newrow["Outlet"] = row[3].ToString();
// Newrow["TerminalNum"] = row[4].ToString();
// Newrow["TranDate"] = row[5].ToString();
// Newrow["TranDateTime"] = row[6].ToString();
// Newrow["Amount"] = row[7].ToString();
// exceltable.Rows.Add(Newrow);
// exceltable.AcceptChanges();
//}**
}
}
DataRow lastrow=exceltable.Rows[exceltable.Rows.Count-1];
if(!String.IsNullOrEmpty(lastrow.ToString().Trim()))
{
string Count = lastrow[4].ToString();
Int16 TotalRows = Convert.ToInt16(Count);
string Sum = lastrow[7].ToString();
double TotalAmount = Convert.ToDouble(Sum);
SqlCommand cmd = new SqlCommand("insert into tblExcel(TotalRows,TotalAmount) values('"+TotalRows+"','"+TotalAmount+"')",connection);
cmd.ExecuteNonQuery();
}
return true;
}
現在我想一些guidance..above代碼插入來自Excel工作表中的數據database..now我想知道我是否需要添加代碼的代碼中插入新行或我需要添加別的地方,我也嘗試過使用NewRow()方法的數據表,我已經在評論中標記,因爲我對它有懷疑。在我走向正確的方向時。請指導我。
你可以解釋我RowFromExcel()和row.Key是什麼意思..是一個屬性.. – Nazima
@Nazima,RowFromExcel()是一種方法,它將返回一個類或只是一個值列表,基本上每個excel行中的excel單元格。 row.Key是哪個單元格使該行唯一。所以我們可以說你正在回顧一個List String,並且讓這一行唯一的單元格是第二個單元格,你會這樣做。 var uniqueKey = rows [1]; <=獲取第二個值。希望這是有道理的。 – Jethro