导入表单错误给出以下代码

本文关键字:代码 表单 错误 导入 | 更新日期: 2023-09-27 17:55:17

我导入的文件工作正常,但是当我向表单和数据库添加另一列时,我遇到以下错误:

错误详细信息:数据源中 String 类型的给定值无法转换为指定目标列的 bigint 类型。

按钮导入背后的代码是...

protected void btnImport_Click(object sender, EventArgs e)
        {
            try
            {
                if (ImportHours()) 
                {
                    objImport.ProcessImport(LoginEmployerId);
                    AsyncImport.ProcessAssignmentImport((int)LoginEmployerId);
                    ScriptManager.RegisterStartupScript(Page, GetType(), "Message1", "alert('File has been Imported Successfully.');", true);
                }
            }
            catch (Exception ex)
            {

                lblMsg.Visible = true;
                lblMsg.ForeColor = Color.Red;
                lblMsg.Text = "Error Detail:" + ex.Message.ToString();
            }
        }
        private bool ImportHours()
        {
            var result = false;
            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            var RequiredColumns = new string[] { "SSN", "LASTNAME", "FIRSTNAME", "LEVEL1CODE", "LEVEL1DESCRIPTION", "LEVEL2CODE", "LEVEL2DESCRIPTION", "LEVEL3CODE", "LEVEL3DESCRIPTION", "LEVEL4CODE", "LEVEL4DESCRIPTION", "LEVEL5CODE", "LEVEL5DESCRIPTION", "DATEOFHIRE", "UNIONCODE", "PPE", "HOURS", "GROSSWAGES", "TERMINATIONDATE", "PAYFREQUENCY","STATUS" };
            string filename = String.Format("{1}''{2}{0}", Path.GetExtension(fuCsv.PostedFile.FileName), Server.MapPath("ImportFiles"), DateTime.Now.Ticks);
            var strArray2 = new string[] { ".csv", ".xls", ".xlsx" };
            if (objImport.ValidateFileExtention(filename, strArray2))
            {
                fuCsv.SaveAs(filename);
                switch (Path.GetExtension(filename))
                {
                    case ".xlsx":
                        ds = objImport.XlsxReader(filename);
                        break;
                    case ".csv":
                        dt = objImport.GetDataTabletFromCSVFile(filename);
                        dt.TrimColumnNames();
                        break;
                }
                QueryHelper.ExecuteNonQuery("DELETE FROM Tbl_PPACA_Import");
                int i = 0, j = 0;
                foreach (DataTable dT in ds.Tables)
                {
                    if (dT.GetColumnNames().Length > 1)
                    {
                        i++;
                        dt = dT;
                        dt.TrimColumnNames();
                        var aa = string.Join(",", dt.DefaultView.ToTable(false, RequiredColumns).GetColumnNames());
                        var ab = string.Join(",", RequiredColumns);
                        if (aa == ab)
                        {
                            var Employer_ID = new System.Data.DataColumn("EmployerID", typeof(System.Int32)) { DefaultValue = EmployerID };
                            var PayrollActivityDateCol = new System.Data.DataColumn("PAYROLLACTIVITYDATE", typeof(System.DateTime)) { DefaultValue = PayrollActivityDate.SelectedDate };
                            var Change_IP = new DataColumn("ChangeIP") { DefaultValue = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] };
                            var ModifiedBy = new DataColumn("ModifiedBy", typeof(string)) { DefaultValue = _userInfo.Name };
                            var UserType = new DataColumn("UserType", typeof(string)) { DefaultValue = _userInfo.UserTypeString };
                            var ModifiedDate = new DataColumn("ModifiedDate", typeof(DateTime)) { DefaultValue = DateTime.Now };
                            var Status = new DataColumn("Status", typeof(String)) { DefaultValue ="STATUS"};

                            dt = new DataView(dt).ToTable(false, RequiredColumns);
                            dt = dt.Select(string.Format("Convert([SSN],'System.String') <> '{0}'", string.Empty)).CopyToDataTable();

                           foreach (DataRow row in dt.Rows)
                            {
                               if (!Methods.isDate(row["DATEOFHIRE"]))
                                    row.SetField("DATEOFHIRE", null as System.DBNull);
                                if (!Methods.isDate(row["PPE"]))
                                   row.SetField("PPE", null as System.DBNull);
                                if (!Methods.isDate(row["TERMINATIONDATE"]))
                                  row.SetField("TERMINATIONDATE", null as System.DBNull);
                                if (!Methods.isDouble(row["HOURS"]))
                                   row["HOURS"] = 0.00;
                              if (!Methods.isDouble(row["GROSSWAGES"]))
                                    row["GROSSWAGES"] = 0.00;
                           }
                            dt.Columns.AddRange(new DataColumn[] { Employer_ID, PayrollActivityDateCol, Change_IP, ModifiedBy, UserType, ModifiedDate });
                            objImport.BulkCopy(dt, "Tbl_PPACA_Import");
                            j++;
                        }
                    }
                }
                if (i == j)
                    result = true;

            }
            else
            {
                Label1.ForeColor = System.Drawing.Color.Red;
                Label1.Text = "Invalid File. Please upload a File with extension " + string.Join(",", strArray2);
                result = false;
            }
            return result;
        }

更新:表架构>>>>

USE [ppacahelper]
GO
/****** Object:  Table [dbo].[Tbl_PPACA_Import]    Script Date: 6/12/2015 9:06:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tbl_PPACA_Import](
    [SSN] [varchar](max) NULL,
    [LASTNAME] [varchar](max) NULL,
    [FIRSTNAME] [varchar](max) NULL,
    [LEVEL1CODE] [varchar](max) NULL,
    [LEVEL1DESCRIPTION] [varchar](max) NULL,
    [LEVEL2CODE] [varchar](max) NULL,
    [LEVEL2DESCRIPTION] [varchar](max) NULL,
    [LEVEL3CODE] [varchar](max) NULL,
    [LEVEL3DESCRIPTION] [varchar](max) NULL,
    [LEVEL4CODE] [varchar](max) NULL,
    [LEVEL4DESCRIPTION] [varchar](max) NULL,
    [LEVEL5CODE] [varchar](max) NULL,
    [LEVEL5DESCRIPTION] [varchar](max) NULL,
    [DATEOFHIRE] [date] NULL,
    [UNIONCODE] [varchar](max) NULL,
    [PPE] [date] NULL,
    [HOURS] [float] NULL,
    [GROSSWAGES] [float] NULL,
    [TerminationDate] [date] NULL,
    [PayFrequency] [varchar](max) NULL,
    [EmployerId] [bigint] NULL,
    [PayrollActivityDate] [datetime] NULL,
    [ChangeIP] [varchar](500) NULL,
    [ModifiedBy] [varchar](500) NULL,
    [UserType] [varchar](500) NULL,
    [ModifiedDate] [datetime] NULL,
    [Status] [varchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

程序

>>>>
Update Tbl_PPACA_Import set LASTNAME=LTRIM(RTRIM(A.LASTNAME)),FIRSTNAME=LTRIM(RTRIM(A.FIRSTNAME))
            ,LEVEL1CODE=LTRIM(RTRIM(ISNULL(A.LEVEL1CODE,ISNULL((SELECT TOP 1 Location_Code FROM Tbl_Location WHERE Employer_Id=@Employer_Id AND Location like '%'+LTRIM(RTRIM(A.LEVEL1DESCRIPTION))+'%' ),LTRIM(RTRIM(A.LEVEL1DESCRIPTION)))))),
            LEVEL1DESCRIPTION=LTRIM(RTRIM(isnull(A.LEVEL1DESCRIPTION,A.LEVEL1CODE)))
            ,LEVEL2CODE=LTRIM(RTRIM(A.LEVEL2CODE)),LEVEL2DESCRIPTION=LTRIM(RTRIM(A.LEVEL2DESCRIPTION))
            ,LEVEL3CODE=LTRIM(RTRIM(A.LEVEL3CODE)),LEVEL3DESCRIPTION=LTRIM(RTRIM(A.LEVEL3DESCRIPTION))
            ,LEVEL4CODE=LTRIM(RTRIM(A.LEVEL4CODE)),LEVEL4DESCRIPTION=LTRIM(RTRIM(A.LEVEL4DESCRIPTION))
            ,LEVEL5CODE=LTRIM(RTRIM(A.LEVEL5CODE)),LEVEL5DESCRIPTION=LTRIM(RTRIM(A.LEVEL5DESCRIPTION))
            ,UNIONCODE=LTRIM(RTRIM(A.UNIONCODE)),SSN=LTRIM(RTRIM(REPLACE(A.SSN,'-',''))),
            [STATUS]=LTRIM(RTRIM(A.[STATUS]))
            from Tbl_PPACA_Import A

导入表单错误给出以下代码

而不是Int32,使用 Int64 表示EmployerId

前任。:

var Employer_ID = new System.Data.DataColumn("EmployerID", typeof(System.Int64)) { DefaultValue = EmployerID };

无论您在哪里使用EmployerId