private bool ImportDaysFromExcel() { //return false; bool output = false; int NewCustomerFounded = 0; int NewRouteFounded = 0; int NewProductFounded = 0; AddLog("Start importing ..."); DataTable dtExcel = new DataTable(); SplashScreenManager.ShowForm(typeof(WaitWindowFrm)); this.Invoke(new MethodInvoker(() => { for (int i = 0; i < lbcFilePath.ItemCount; i++) { if (File.Exists(lbcFilePath.Items[i].ToString())) { SplashScreenManager.Default.SetWaitFormDescription("Loading Excel File [" + (i + 1) + "] Contains [1/4]"); DataTable dtPart = DataManager.LoadExcelFile(lbcFilePath.Items[i].ToString(), 0, "*"); if (dtPart.Rows.Count == 0) continue; dtExcel.Merge(dtPart); } } SplashScreenManager.Default.SetWaitFormDescription("Loading Customers Informations [2/4]"); _0_6_Customer_HNTableAdapter.Fill(dsData._0_6_Customer_HN); SplashScreenManager.Default.SetWaitFormDescription("Loading Routes Informations [3/4]"); _0_3__Route_DetailsTableAdapter.Fill(dsData._0_3__Route_Details); SplashScreenManager.Default.SetWaitFormDescription("Loading Products Informations [4/4]"); _0_4__Product_DetailsTableAdapter.Fill(dsData._0_4__Product_Details); })); if (dtExcel.Rows.Count == 0) return false; DateTime dtStart = DateTime.Now; OleDbConnection con = new OleDbConnection(Properties.Settings.Default.dbConnectionString); OleDbCommand cmd = new OleDbCommand("", con); Microsoft.Office.Interop.Access.Dao.DBEngine eng = new Microsoft.Office.Interop.Access.Dao.DBEngine(); Microsoft.Office.Interop.Access.Dao.Database db = eng.OpenDatabase(DataManager.dbPath); eng.BeginTrans(); Microsoft.Office.Interop.Access.Dao.Recordset rs = db.OpenRecordset(@"SELECT [Billing Document], [Billing date for bil], [Billing Type], [Payer], [Sold-to party], [Actual Invoiced Quan], [Condition base value], [Condition type], [Condition value], [Distribution Channel], [G/L Account Number], [Material Number], [Plant], [Reference Document N], [Route], [Sales district], [Sales unit], [Company Code], [Base Unit of Measure], [Sales Organization], [Route & Sold], [yeard], [Month], [New Quanteite] FROM [0-1 Master]"); Microsoft.Office.Interop.Access.Dao.Field[] myFields = new Microsoft.Office.Interop.Access.Dao.Field[25]; for (int k = 0; k <= 23; k++) { myFields[k] = rs.Fields[k]; } con.Open(); int ProcessedCounter = 0; int ProcessedMax = dtExcel.Rows.Count; this.Invoke(new MethodInvoker(() => { ProgressBarMain.Properties.Maximum = ProcessedMax; ProgressBarMain.EditValue = ProcessedCounter; })); //deleting data before saving new 1 var result = from row in dtExcel.AsEnumerable() group row by row["Billing date for bil"] into grp select new { BillingDate = grp.Key }; cmd.CommandText = "delete from [0-1 Master] where [Billing date for bil] = @BillingDate"; cmd.Parameters.Add(new OleDbParameter("@BillingDate", OleDbType.Date)); foreach (var item in result) { if (DevExpress.XtraSplashScreen.SplashScreenManager.Default.IsSplashFormVisible) DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("Deleting Day " + item.BillingDate); System.Windows.Forms.Application.DoEvents(); cmd.Parameters["@BillingDate"].Value = item.BillingDate; cmd.ExecuteNonQuery(); } SplashScreenManager.CloseForm(); int Test = 0; foreach (DataRow row in dtExcel.Rows) { //Update UI ProcessedCounter++; if (ProcessedCounter % 500 == 1) { //double DonePercent = ProcessedCounter / ProcessedMax; this.Invoke(new MethodInvoker(() => { lblEstTime.Text = Convert.ToInt32(DateTime.Now.Subtract(dtStart).TotalSeconds / ProcessedCounter * ProcessedMax) + " sec"; ProgressBarMain.EditValue = ProcessedCounter; lblCount.Text = string.Format("{0}/{1}", ProcessedMax, ProcessedCounter); Application.DoEvents(); })); } //if (Test == 21501) //{ // string x = ""; //} Test++; Data.dsData._0_1__MasterRow SqlRow = dsData._0_1__Master.New_0_1__MasterRow(); SqlRow.Billing_Document = row["Billing Document"].ToString(); SqlRow.Billing_date_for_bil = Convert.ToDateTime(row["Billing date for bil"]); SqlRow.yeard = SqlRow.Billing_date_for_bil.Year.ToString(); SqlRow.Month = SqlRow.Billing_date_for_bil.ToString("MMMM", System.Globalization.CultureInfo.InvariantCulture); SqlRow.Billing_Type = row["Billing Type"].ToString(); //SqlRow.Payer = row["Payer"].ToString(); SqlRow._Sold_to_party = Convert.ToInt32(row["Sold-to party"]).ToString(); SqlRow.Actual_Invoiced_Quan = Convert.ToDouble(row["Actual Invoiced Quan"]); //SqlRow.Condition_base_value = Convert.ToDouble(row["Condition base value"]); SqlRow.Condition_type = row["Condition type"].ToString(); SqlRow.Condition_value = Convert.ToDouble(row["Condition value"]); SqlRow.Distribution_Channel = row["Distribution Channel"].ToString(); //SqlRow._G_L_Account_Number = row["G/L Account Number"].ToString(); SqlRow.Material_Number = Convert.ToInt32(row["Material Number"]); SqlRow.Plant = row["Plant"].ToString(); SqlRow.Reference_Document_N = row["Reference Document N"].ToString(); //Set Route and Fix 999999 and 000001 SqlRow.Route = row["Route"].ToString(); if (SqlRow.Route == DataManager.Route999999) { if (SqlRow.Reference_Document_N.Trim().Substring(0, 2) == "CS")//try to get it from "Reference Document N" SqlRow.Route = SqlRow.Reference_Document_N.Trim().Substring(2, 6); else { //try to get it from last route for this "Sold to-party" cmd.CommandText = string.Format("SELECT top 1 Route FROM [0-1 Master] WHERE [Sold-to party] = \"{0}\" AND [0-1 Master].Route <> \"999999\" order by [Billing date for bil] DESC", SqlRow._Sold_to_party); object obj = cmd.ExecuteScalar(); if (obj != null) SqlRow.Route = obj.ToString(); } } //Set _Route___Sold if (SqlRow.Route == DataManager.Route000001) SqlRow._Route___Sold = SqlRow._Sold_to_party; else SqlRow._Route___Sold = SqlRow.Route; //SqlRow.Sales_district = row["Sales district"].ToString(); SqlRow.Sales_unit = row["Sales unit"].ToString(); //SqlRow.Company_Code = row["Company Code"].ToString(); //SqlRow.Base_Unit_of_Measure = row["Base Unit of Measure"].ToString(); //SqlRow.Sales_Organization = row["Sales Organization"].ToString(); //Customer Update Data.dsData._0_6_Customer_HNRow CustomerRow = Customer.GetCustomerRow(SqlRow._Sold_to_party, dsData._0_6_Customer_HN); if (CustomerRow.RowState == DataRowState.Detached) { CustomerRow.Customer_T = SqlRow._Sold_to_party; CustomerRow.Customer_Type = Customer.CustomerTypeIdDirect; CustomerRow.Customer_Type_2 = Customer.CustomerType2IdDirect; CustomerRow.Customer_Group = Customer.CustomerGroupIdDirect; CustomerRow.Subchannel = Customer.SubchannelIdDirect; CustomerRow.Customer_type_Code = Customer.CustomerTypeCodeDirect; dsData._0_6_Customer_HN.Add_0_6_Customer_HNRow(CustomerRow); CustomerRow.EndEdit(); AddLog("[New Customer Found] : " + row["Sold-to party"]); NewCustomerFounded++; } //Route Update if (row["Route"].ToString().Trim() != DataManager.Route000001 && row["Route"].ToString().Trim() != DataManager.Route999999) { Data.dsData._0_3__Route_DetailsRow RouteRow = Route.GetRouteNumber(row["Route"].ToString().Trim(), dsData._0_3__Route_Details); if (RouteRow.RowState == DataRowState.Detached) { RouteRow.Route_Number = SqlRow.Route; dsData._0_3__Route_Details.Add_0_3__Route_DetailsRow(RouteRow); RouteRow.EndEdit(); AddLog("[New Route Found] : " + RouteRow.Route_Number); NewRouteFounded++; } } //Product Update Data.dsData._0_4__Product_DetailsRow ProductRow = Product.GetProductRow(SqlRow.Material_Number, dsData._0_4__Product_Details); if (ProductRow.RowState == DataRowState.Detached) { ProductRow.Material_Number = SqlRow.Material_Number; dsData._0_4__Product_Details.Add_0_4__Product_DetailsRow(ProductRow); ProductRow.EndEdit(); AddLog("[New Product Found] : " + ProductRow.Material_Number); NewProductFounded++; } if (ProductRow.Quin == ProductRow.New_Qu) SqlRow.New_Quanteite = Convert.ToInt32(SqlRow.Actual_Invoiced_Quan); else SqlRow.New_Quanteite = Convert.ToInt32(SqlRow.Actual_Invoiced_Quan * ProductRow.Quin / ProductRow.New_Qu); dsData._0_1__Master.Add_0_1__MasterRow(SqlRow); SqlRow.EndEdit(); //_0_1__MasterTableAdapter.Update(SqlRow); rs.AddNew(); myFields[0].Value = SqlRow.Billing_Document; myFields[1].Value = SqlRow.Billing_date_for_bil; myFields[2].Value = SqlRow.Billing_Type; //myFields[3].Value = SqlRow.Payer; myFields[4].Value = SqlRow._Sold_to_party; myFields[5].Value = SqlRow.Actual_Invoiced_Quan; //myFields[6].Value = SqlRow.Condition_base_value; myFields[7].Value = SqlRow.Condition_type; myFields[8].Value = SqlRow.Condition_value; myFields[9].Value = SqlRow.Distribution_Channel; //myFields[10].Value = SqlRow._G_L_Account_Number; myFields[11].Value = SqlRow.Material_Number; myFields[12].Value = SqlRow.Plant; myFields[13].Value = SqlRow.Reference_Document_N; myFields[14].Value = SqlRow.Route; //myFields[15].Value = SqlRow.Sales_district; myFields[16].Value = SqlRow.Sales_unit; //myFields[17].Value = SqlRow.Company_Code; //myFields[18].Value = SqlRow.Base_Unit_of_Measure; //myFields[19].Value = SqlRow.Sales_Organization; myFields[20].Value = SqlRow._Route___Sold; myFields[21].Value = SqlRow.yeard; myFields[22].Value = SqlRow.Month; myFields[23].Value = SqlRow.New_Quanteite; rs.Update(); } eng.CommitTrans(); eng.FreeLocks(); db.Close(); _0_6_Customer_HNTableAdapter.Update(dsData._0_6_Customer_HN); _0_3__Route_DetailsTableAdapter.Update(dsData._0_3__Route_Details); _0_4__Product_DetailsTableAdapter.Update(dsData._0_4__Product_Details); ////SplashScreenManager.ShowForm(typeof(WaitWindowFrm)); ////SplashScreenManager.Default.SetWaitFormDescription("Updating Master ..."); Application.DoEvents(); ////int index = 0; ////foreach (Data.dsData._0_1__MasterRow row in dsData._0_1__Master) ////{ //// _0_1__MasterTableAdapter.Update(row); //// SplashScreenManager.Default.SetWaitFormDescription("Updating Master ..." + index); index++; //// Application.DoEvents(); ////} //_0_1__MasterTableAdapter.Update(dsData._0_1__Master); dsData._0_1__Master.AcceptChanges(); AddLog("New Customers Saved " + NewCustomerFounded); AddLog("New Routes Saved " + NewRouteFounded); AddLog("New Product Saved " + NewProductFounded); AddLog("New R3 Data Saved " + dsData._0_1__Master.Count); dtExcel.Rows.Clear(); dtExcel.Dispose(); dtExcel = null; dsData._0_1__Master.Clear(); dsData._0_6_Customer_HN.Clear(); dsData._0_1__Master.Dispose(); dsData._0_6_Customer_HN.Dispose(); cmd.Dispose(); cmd = null; con.Close(); con.Dispose(); con = null; GC.Collect(); GC.WaitForPendingFinalizers(); return output; }
static void Main(string[] args) { // required COM reference: Microsoft Office 14.0 Access Database Engine Object Library var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine(); Microsoft.Office.Interop.Access.Dao.Database db = dbe.Workspaces[0].OpenDatabase(@"C:\Users\Public\Database1.accdb"); Microsoft.Office.Interop.Access.Dao.Field fld = db.TableDefs["myTable"].Fields["oldFieldName"]; fld.Name = "newFieldName"; db.Close(); }
static void Main(string[] args) { // required COM reference: Microsoft Office 14.0 Access Database Engine Object Library var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine(); Microsoft.Office.Interop.Access.Dao.Database db = dbe.Workspaces[0].OpenDatabase(@"C:\__tmp\testData.accdb"); Microsoft.Office.Interop.Access.Dao.Field fld = db.TableDefs["poiData"].Fields["lon"]; Console.WriteLine("Properties[\"DecimalPlaces\"].Value was: " + fld.Properties["DecimalPlaces"].Value); fld.Properties["DecimalPlaces"].Value = 5; Console.WriteLine("Properties[\"DecimalPlaces\"].Value is now: " + fld.Properties["DecimalPlaces"].Value); db.Close(); Console.WriteLine("Hit a key..."); Console.ReadKey(); }
static void Main(string[] args) { string TableName = "Cars"; string FieldName = "CarType"; // This code requires the following COM reference in your project: // // Microsoft Office 14.0 Access Database Engine Object Library // var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine(); Microsoft.Office.Interop.Access.Dao.Database db = dbe.OpenDatabase(@"Z:\_xfer\Database1.accdb"); try { Microsoft.Office.Interop.Access.Dao.Field fld = db.TableDefs[TableName].Fields[FieldName]; string RowSource = ""; try { RowSource = fld.Properties["RowSource"].Value; } catch { // do nothing - RowSource will remain an empty string } if (RowSource.Length == 0) { Console.WriteLine("The field is not a lookup field."); } else { Console.WriteLine(RowSource); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
/// <summary> /// 录入附件信息 /// </summary> /// <param name="dtTemp2">附件2的模板数据</param> /// <param name="dtTemp3">附件3的模板数据</param> /// <returns></returns> private string insertDataTable(DataTable dtTemp2, DataTable dtTemp3) { string msg = string.Empty; Microsoft.Office.Interop.Access.Dao.Database db = dbEngine.OpenDatabase(Utils.dataPath); Microsoft.Office.Interop.Access.Dao.Recordset rs = db.OpenRecordset("INFOMATION_ENTITIES"); Microsoft.Office.Interop.Access.Dao.Field[] myFields = new Microsoft.Office.Interop.Access.Dao.Field[65]; myFields[0] = rs.Fields["VIN"]; myFields[1] = rs.Fields["CLXZ"]; myFields[2] = rs.Fields["CLZL"]; myFields[3] = rs.Fields["GCSF"]; myFields[4] = rs.Fields["GCCS"]; myFields[5] = rs.Fields["CLYT"]; myFields[6] = rs.Fields["CLXH"]; myFields[7] = rs.Fields["GGPC"]; myFields[8] = rs.Fields["CLPZ"]; myFields[9] = rs.Fields["EKGZ"]; myFields[10] = rs.Fields["GMJG"]; myFields[11] = rs.Fields["SQBZBZ"]; myFields[12] = rs.Fields["FPHM"]; myFields[13] = rs.Fields["FPSJ"]; myFields[14] = rs.Fields["XSZSJ"]; myFields[15] = rs.Fields["FPTP"]; myFields[16] = rs.Fields["XSZTP"]; myFields[17] = rs.Fields["FPTP_PICTURE"]; myFields[18] = rs.Fields["XSZTP_PICTURE"]; myFields[19] = rs.Fields["CJDRXX_CXXH"]; myFields[20] = rs.Fields["CJDRXX_DRZRL"]; myFields[21] = rs.Fields["CJDRXX_DRZSCQY"]; myFields[22] = rs.Fields["CJDRXX_DTSCQY"]; myFields[23] = rs.Fields["CJDRXX_DTXH"]; myFields[24] = rs.Fields["CJDRXX_XTJG"]; myFields[25] = rs.Fields["CJDRXX_ZBNX"]; myFields[26] = rs.Fields["CLSFYCJDR"]; myFields[27] = rs.Fields["CLSFYQDDJ2"]; myFields[28] = rs.Fields["CLSFYRLDC"]; myFields[29] = rs.Fields["DCDTXX_SCQY"]; myFields[30] = rs.Fields["DCDTXX_XH"]; myFields[31] = rs.Fields["DCZXX_SCQY"]; myFields[32] = rs.Fields["DCZXX_XH"]; myFields[33] = rs.Fields["DCZXX_XTJG"]; myFields[34] = rs.Fields["DCZXX_ZBNX"]; myFields[35] = rs.Fields["DCZXX_ZRL"]; myFields[36] = rs.Fields["QDDJXX_EDGL_1"]; myFields[37] = rs.Fields["QDDJXX_EDGL_2"]; myFields[38] = rs.Fields["QDDJXX_SCQY_1"]; myFields[39] = rs.Fields["QDDJXX_SCQY_2"]; myFields[40] = rs.Fields["QDDJXX_XH_1"]; myFields[41] = rs.Fields["QDDJXX_XH_2"]; myFields[42] = rs.Fields["QDDJXX_XTJG_1"]; myFields[43] = rs.Fields["QDDJXX_XTJG_2"]; myFields[44] = rs.Fields["RLDCXX_EDGL"]; myFields[45] = rs.Fields["RLDCXX_GMJG"]; myFields[46] = rs.Fields["RLDCXX_SCQY"]; myFields[47] = rs.Fields["RLDCXX_XH"]; myFields[48] = rs.Fields["RLDCXX_ZBNX"]; myFields[49] = rs.Fields["JZNF"]; myFields[50] = rs.Fields["BGLHDL"]; myFields[51] = rs.Fields["CLCMYCDNGXSLC"]; myFields[52] = rs.Fields["CLYCCMDSXSJ"]; myFields[53] = rs.Fields["CLYXDW"]; myFields[54] = rs.Fields["JKPDXXDW"]; myFields[55] = rs.Fields["LJCDL"]; myFields[56] = rs.Fields["LJJQL"]; myFields[57] = rs.Fields["LJJQL_G"]; myFields[58] = rs.Fields["LJJQL_L"]; myFields[59] = rs.Fields["LJJYL"]; myFields[60] = rs.Fields["LJXSLC"]; myFields[61] = rs.Fields["PJDRXYSJ"]; myFields[62] = rs.Fields["SFAZJKZZ"]; myFields[63] = rs.Fields["YJXSLC"]; myFields[64] = rs.Fields["ZDCDGL"]; for (int i = 0; i < dtTemp2.Rows.Count; i++) { string vin = dtTemp2.Rows[i]["VIN"].ToString().Trim(); string clpz = dtTemp2.Rows[i]["CLPZ"].ToString().Trim(); try { var sel3 = (from t3 in dtTemp3.AsEnumerable() where t3.Field <string>("CLPZ").Equals(clpz) select t3).CopyToDataTable(); rs.AddNew(); myFields[0].Value = dtTemp2.Rows[i]["VIN"]; myFields[1].Value = string.Empty; myFields[2].Value = dtTemp2.Rows[i]["CLZL"]; myFields[3].Value = dtTemp2.Rows[i]["GCSF"]; myFields[4].Value = dtTemp2.Rows[i]["GCCS"]; myFields[5].Value = dtTemp2.Rows[i]["CLYT"]; myFields[6].Value = dtTemp2.Rows[i]["CLXH"]; myFields[7].Value = string.Empty; myFields[8].Value = dtTemp2.Rows[i]["CLPZ"]; myFields[9].Value = string.Empty; myFields[10].Value = dtTemp2.Rows[i]["GMJG"]; myFields[11].Value = dtTemp2.Rows[i]["SQBZBZ"]; myFields[12].Value = dtTemp2.Rows[i]["FPHM"]; myFields[13].Value = dtTemp2.Rows[i]["FPSJ"]; myFields[14].Value = dtTemp2.Rows[i]["XSZSJ"]; myFields[15].Value = dtTemp2.Rows[i]["FPTP"]; myFields[16].Value = dtTemp2.Rows[i]["XSZTP"]; myFields[17].Value = dtTemp2.Rows[i]["FPTP_PICTURE"]; myFields[18].Value = dtTemp2.Rows[i]["XSZTP_PICTURE"]; myFields[19].Value = dtTemp2.Rows[i]["CJDRXX_CXXH"]; myFields[20].Value = dtTemp2.Rows[i]["CJDRXX_DRZRL"]; myFields[21].Value = dtTemp2.Rows[i]["CJDRXX_DRZSCQY"]; myFields[22].Value = dtTemp2.Rows[i]["CJDRXX_DTSCQY"]; myFields[23].Value = dtTemp2.Rows[i]["CJDRXX_DTXH"]; myFields[24].Value = dtTemp2.Rows[i]["CJDRXX_XTJG"]; myFields[25].Value = dtTemp2.Rows[i]["CJDRXX_ZBNX"]; myFields[26].Value = dtTemp2.Rows[i]["CLSFYCJDR"]; myFields[27].Value = dtTemp2.Rows[i]["CLSFYQDDJ2"]; myFields[28].Value = dtTemp2.Rows[i]["CLSFYRLDC"]; myFields[29].Value = dtTemp2.Rows[i]["DCDTXX_SCQY"]; myFields[30].Value = dtTemp2.Rows[i]["DCDTXX_XH"]; myFields[31].Value = dtTemp2.Rows[i]["DCZXX_SCQY"]; myFields[32].Value = dtTemp2.Rows[i]["DCZXX_XH"]; myFields[33].Value = dtTemp2.Rows[i]["DCZXX_XTJG"]; myFields[34].Value = dtTemp2.Rows[i]["DCZXX_ZBNX"]; myFields[35].Value = dtTemp2.Rows[i]["DCZXX_ZRL"]; myFields[36].Value = dtTemp2.Rows[i]["QDDJXX_EDGL_1"]; myFields[37].Value = dtTemp2.Rows[i]["QDDJXX_EDGL_2"]; myFields[38].Value = dtTemp2.Rows[i]["QDDJXX_SCQY_1"]; myFields[39].Value = dtTemp2.Rows[i]["QDDJXX_SCQY_2"]; myFields[40].Value = dtTemp2.Rows[i]["QDDJXX_XH_1"]; myFields[41].Value = dtTemp2.Rows[i]["QDDJXX_XH_2"]; myFields[42].Value = dtTemp2.Rows[i]["QDDJXX_XTJG_1"]; myFields[43].Value = dtTemp2.Rows[i]["QDDJXX_XTJG_2"]; myFields[44].Value = dtTemp2.Rows[i]["RLDCXX_EDGL"]; myFields[45].Value = dtTemp2.Rows[i]["RLDCXX_GMJG"]; myFields[46].Value = dtTemp2.Rows[i]["RLDCXX_SCQY"]; myFields[47].Value = dtTemp2.Rows[i]["RLDCXX_XH"]; myFields[48].Value = dtTemp2.Rows[i]["RLDCXX_ZBNX"]; myFields[49].Value = dtTemp2.Rows[i]["JZNF"]; myFields[50].Value = sel3.Rows[0]["BGLHDL"]; myFields[51].Value = sel3.Rows[0]["CLCMYCDNGXSLC"]; myFields[52].Value = sel3.Rows[0]["CLYCCMDSXSJ"]; myFields[53].Value = dtTemp2.Rows[i]["CLYXDW"]; myFields[54].Value = sel3.Rows[0]["JKPDXXDW"]; myFields[55].Value = sel3.Rows[0]["LJCDL"]; myFields[56].Value = sel3.Rows[0]["LJJQL"]; myFields[57].Value = sel3.Rows[0]["LJJQL_G"]; myFields[58].Value = sel3.Rows[0]["LJJQL_L"]; myFields[59].Value = sel3.Rows[0]["LJJYL"]; myFields[60].Value = sel3.Rows[0]["LJXSLC"]; myFields[61].Value = sel3.Rows[0]["PJDRXYSJ"]; myFields[62].Value = sel3.Rows[0]["SFAZJKZZ"]; myFields[63].Value = sel3.Rows[0]["YJXSLC"]; myFields[64].Value = sel3.Rows[0]["ZDCDGL"]; rs.Update(); } catch (Exception ex) { msg += String.Format("车辆识别代码(VIN):{0}的异常信息{1},操作异常{2}", vin, ex.Message, Environment.NewLine); continue; } } rs.Close(); db.Close(); return(msg); }