Excelシートからdatabase.iへのデータのインポートに取り組んでいます.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コードをしたいdatabase..nowするために、Excelシートからデータを挿入する私は、このコードの中に新しい行を挿入するためのコードを追加する必要がありますか私はする必要がありますか知りたいです別の場所に追加し、また私はそれについての疑いがあったとして私はコメントでマークしたdatatableのNewRow()メソッドを使用してみました..私は正しい方向に行く..私はガイド私。
RowFromExcel()とrow.Keyのどちらを意味するのか説明できますか? – Nazima
@ Nazima、RowFromExcel()は、クラスまたは値のリストを返すメソッドです。基本的にはそれぞれExcelの行のExcelセルです。 row.Keyは、セルがその行をユニークにするものです。したがって、List Stringを保持していて、その行を一意にするセルが2番目のセルだったとすると、このようなことを行います。 var uniqueKey =行[1]; <=は2番目の値を取得します。これが理にかなってほしい。 – Jethro