110,538
社区成员
发帖
与我相关
我的任务
分享
private void openFile_Click(object sender, RoutedEventArgs e)
{
string path = "C:/Users/shuke/Desktop/Order Calculation20170707/calculation verification.xlsx";
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 12.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
foreach (DataRow mDr in ds.Tables[0].Rows)
{
float tubeNomId = calTubeNomIdDf(mDr, ds);
float tubeNomOd = calTubeNomOdDf(mDr, ds);
float tubeNomMinWt = calTubeNomMinWtDf(mDr, ds);
float tubeNomAvgWt = calTubeNomAvgWtDf(mDr, ds);
float tubeAvgWt = calTubeAvgWtDf(tubeNomMinWt, tubeNomAvgWt, mDr, ds);
float tubeAvgOd = calTubeAvgOdDf(tubeNomId, tubeNomOd, tubeAvgWt, mDr, ds);
float tubeOdAfterSurplus = calTubeOdAfterSurplusDf(tubeAvgOd, mDr, ds);
float tubeWtAfterSurplus = calTubeWtAfterSurplusDf(tubeAvgWt, mDr, ds);
bool bousMaterial = chooseMaterialDf(mDr, ds);
float rLMin = calRLMinDf(mDr, ds);
float rLMax = calRLMaxDf(mDr, ds);
float tL = calTLDf(mDr, ds);
float fL = calFLDf(mDr, ds);
float pcs = calPcsDf(mDr, ds);
string materialGrade = findMGDf(mDr, ds);
string forgedHollowCom = createForgedHollowCom(tubeOdAfterSurplus, tubeWtAfterSurplus, tubeAvgOd, tubeAvgWt, bousMaterial, rLMin, rLMax, tL, fL, pcs, materialGrade);
string[] forgedHollowElements = forgedHollowCom.Split('|');
mDr["Ingot/billet size"] = forgedHollowElements[0];
}
}
private void openFile_Click(object sender, RoutedEventArgs e)
{
string path = "C:/Users/shuke.liu/Desktop/Order Calculation/Order Calculation20170710/calculation verification.xlsx";
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 12.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
string[] colName = new string[] { "Ingot/billet size", "Ingot/billet weight", "Ingot/billet PCS", "Piercing die", "Piercing mandrel", "Pierced length", "Forged OD hot", "Forged WT hot", "Forged L hot", "Forged OD cold", "Forged WT cold", "Forged L cold", "Forge mandrel", "Forge hammer", "Process", "Yield"};
string currID = "";
foreach (DataRow mDr in ds.Tables[0].Rows)
{
currID = mDr["Item"].ToString();
float tubeNomId = calTubeNomIdDf(mDr, ds);
float tubeNomOd = calTubeNomOdDf(mDr, ds);
float tubeNomMinWt = calTubeNomMinWtDf(mDr, ds);
float tubeNomAvgWt = calTubeNomAvgWtDf(mDr, ds);
float tubeAvgWt = calTubeAvgWtDf(tubeNomMinWt, tubeNomAvgWt, mDr, ds);
float tubeAvgOd = calTubeAvgOdDf(tubeNomId, tubeNomOd, tubeAvgWt, mDr, ds);
float tubeOdAfterSurplus = calTubeOdAfterSurplusDf(tubeAvgOd, mDr, ds);
float tubeWtAfterSurplus = calTubeWtAfterSurplusDf(tubeAvgWt, mDr, ds);
bool bousMaterial = chooseMaterialDf(mDr, ds);
float rLMin = calRLMinDf(mDr, ds);
float rLMax = calRLMaxDf(mDr, ds);
float tL = calTLDf(mDr, ds);
float fL = calFLDf(mDr, ds);
float pcs = calPcsDf(mDr, ds);
string materialGrade = findMGDf(mDr, ds);
string forgedHollowCom = createForgedHollowCom(tubeOdAfterSurplus, tubeWtAfterSurplus, tubeAvgOd, tubeAvgWt, bousMaterial, rLMin, rLMax, tL, fL, pcs, materialGrade);
string[] forgedHollowElements = forgedHollowCom.Split('|');
DataTable dt = ds.Tables[0];
string sqlUpdate = "update "+ dt +" set ";
for (int col = 0; col <= 15; col++)
{
if (col == 0)
{
sqlUpdate += colName[col] + "='" + forgedHollowElements[col] + "'";
}
else
{
sqlUpdate += "," + colName[col] + "='" + forgedHollowElements[col] + "'";
}
}
//UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
sqlUpdate += " where Item='"+currID+"'";
OleDbCommand oleComm = new OleDbCommand(sqlUpdate, conn);
//Executes an SQL statement against the Connection and returns the number of rows affected.
if (oleComm.ExecuteNonQuery() <= 0)
{
}
oleComm.Dispose();
}
}
string[] colName = new string[] { "[Ingot/billet size]", "[Ingot/billet weight]", "[Ingot/billet PCS]", "[Piercing die]", "[Piercing mandrel]", "[Pierced length]", "[Forged OD hot]", "[Forged WT hot]", "[Forged L hot]", "[Forged OD cold]", "[Forged WT cold]", "[Forged L cold]", "[Forge mandrel]", "[Forge hammer]", "[Process]", "[Yield]" };
其他应该没问题了
sqlUpdate += " where ID='"+currID+"'";
private void openFile_Click(object sender, RoutedEventArgs e)
{
string path = "C:/Users/shuke.liu/Desktop/Order Calculation/Order Calculation20170710/calculation verification.xlsx";
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 12.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
string[] colName = new string[] { "Ingot/billet size", "Ingot/billet weight", "Ingot/billet PCS", "Piercing die", "Piercing mandrel", "Pierced length", "Forged OD hot", "Forged WT hot", "Forged L hot", "Forged OD cold", "Forged WT cold", "Forged L cold", "Forge mandrel", "Forge hammer", "Process", "Yield"};
string currID = "";
foreach (DataRow mDr in ds.Tables[0].Rows)
{
currID = mDr["Item"].ToString();
float tubeNomId = calTubeNomIdDf(mDr, ds);
float tubeNomOd = calTubeNomOdDf(mDr, ds);
float tubeNomMinWt = calTubeNomMinWtDf(mDr, ds);
float tubeNomAvgWt = calTubeNomAvgWtDf(mDr, ds);
float tubeAvgWt = calTubeAvgWtDf(tubeNomMinWt, tubeNomAvgWt, mDr, ds);
float tubeAvgOd = calTubeAvgOdDf(tubeNomId, tubeNomOd, tubeAvgWt, mDr, ds);
float tubeOdAfterSurplus = calTubeOdAfterSurplusDf(tubeAvgOd, mDr, ds);
float tubeWtAfterSurplus = calTubeWtAfterSurplusDf(tubeAvgWt, mDr, ds);
bool bousMaterial = chooseMaterialDf(mDr, ds);
float rLMin = calRLMinDf(mDr, ds);
float rLMax = calRLMaxDf(mDr, ds);
float tL = calTLDf(mDr, ds);
float fL = calFLDf(mDr, ds);
float pcs = calPcsDf(mDr, ds);
string materialGrade = findMGDf(mDr, ds);
string forgedHollowCom = createForgedHollowCom(tubeOdAfterSurplus, tubeWtAfterSurplus, tubeAvgOd, tubeAvgWt, bousMaterial, rLMin, rLMax, tL, fL, pcs, materialGrade);
string[] forgedHollowElements = forgedHollowCom.Split('|');
string sqlUpdate = "set ";
for (int col = 0; col <= 15; col++)
{
if (col == 0)
{
sqlUpdate += colName[col] + "='" + forgedHollowElements[col] + "'";
}
else
{
sqlUpdate += "," + colName[col] + "='" + forgedHollowElements[col] + "'";
}
}
//UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
sqlUpdate += " where ID='"+currID+"'";
OleDbCommand oleComm = new OleDbCommand(sqlUpdate, conn);
//Executes an SQL statement against the Connection and returns the number of rows affected.
if (oleComm.ExecuteNonQuery() <= 0)
{
}
oleComm.Dispose();
}
}
private void openFile_Click(object sender, RoutedEventArgs e)
{
string path = "C:/Users/shuke/Desktop/Order Calculation20170707/calculation verification.xlsx";
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties=Excel 12.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
string[] colName = new string[] { "Ingot/billet size", "Ingot/billet weight", "Ingot/billet PCS", "Piercing die", "Piercing mandrel", "Pierced length", "Forged OD hot", "Forged WT hot", "Forged L hot", "Forged OD cold", "Forged WT cold", "Forged L cold", "Forge mandrel", "Forge hammer", "Process", "Yield"};
foreach (DataRow mDr in ds.Tables[0].Rows)
{
float tubeNomId = calTubeNomIdDf(mDr, ds);
float tubeNomOd = calTubeNomOdDf(mDr, ds);
float tubeNomMinWt = calTubeNomMinWtDf(mDr, ds);
float tubeNomAvgWt = calTubeNomAvgWtDf(mDr, ds);
float tubeAvgWt = calTubeAvgWtDf(tubeNomMinWt, tubeNomAvgWt, mDr, ds);
float tubeAvgOd = calTubeAvgOdDf(tubeNomId, tubeNomOd, tubeAvgWt, mDr, ds);
float tubeOdAfterSurplus = calTubeOdAfterSurplusDf(tubeAvgOd, mDr, ds);
float tubeWtAfterSurplus = calTubeWtAfterSurplusDf(tubeAvgWt, mDr, ds);
bool bousMaterial = chooseMaterialDf(mDr, ds);
float rLMin = calRLMinDf(mDr, ds);
float rLMax = calRLMaxDf(mDr, ds);
float tL = calTLDf(mDr, ds);
float fL = calFLDf(mDr, ds);
float pcs = calPcsDf(mDr, ds);
string materialGrade = findMGDf(mDr, ds);
string forgedHollowCom = createForgedHollowCom(tubeOdAfterSurplus, tubeWtAfterSurplus, tubeAvgOd, tubeAvgWt, bousMaterial, rLMin, rLMax, tL, fL, pcs, materialGrade);
string[] forgedHollowElements = forgedHollowCom.Split('|');
string sqlUpdate = "set";
for (int col = 0; col <= 15; col++)
{
if (col == 0)
{
sqlUpdate += colName[col] + "='" + forgedHollowElements[col] + "'";
}
else
{
sqlUpdate += "," + colName[col] + "='" + forgedHollowElements[col] + "'";
}
}
sqlUpdate += " where ID=该行的序号";//我要给每一行设置序号吗?现在我在Excel第一列插入了表头名为Item的一列,那么是不是where ID就可以等于该列的内容?
OleDbCommand oleComm = new OleDbCommand(sqlUpdate, conn);
if (oleComm.ExecuteNonQuery() <= 0)
{
//这里是空语句?
}
oleComm.Dispose();
}
请问:
1. sqlUpdate += " where ID=该行的序号";//我要给每一行设置序号吗?现在我在Excel第一列插入了表头名为Item的一列,那么是不是where ID就可以等于该列的内容?
2. if (oleComm.ExecuteNonQuery() <= 0),这段程序里面是没有程序段吗?
谢谢啦!