Ich versuche, meine Excel-Blatt-Daten in meine Rasteransicht in ASP.NET-Site zu exportieren. Die Rasteransicht füllt die Daten, aber die Excel-Tabellenspalte Daten EMP_CODE
fehlt.Spalte Daten fehlen, wenn ich Daten von .csv Excel zu Grid-Ansicht in Asp.net importieren
Excel-Daten:
Rendered Grid:
-Code zum Bestücken asp:GridView
:
protected void btnSave_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName != "")
{
try
{
FileUpload1.SaveAs(Server.MapPath("~/Appraisal/" + FileUpload1.FileName));
CvsPath = null;
string constr = null;
//constr = System.Configuration.ConfigurationManager.ConnectionStrings("connStr").ToString;
constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection dwConn = new SqlConnection(constr);
//con.Open()
CvsPath = Server.MapPath("~/Appraisal/" + FileUpload1.FileName);
//Response.Write(CvsPath)
FileUpload1.Dispose();
// Dim constr As String
System.Data.OleDb.OleDbConnection csvConn = new System.Data.OleDb.OleDbConnection();
//constr = System.Configuration.ConfigurationManager.ConnectionStrings("connStr").ToString
//csvConn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;;Data Source=" + CvsPath + ";Extended Properties=\"Excel 8.0;HDR=YES;\"");
csvConn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + CvsPath + ";Extended Properties=Excel 12.0;Persist Security Info=False";
//
csvConn.Open();
System.Data.OleDb.OleDbCommand csvCmd = new System.Data.OleDb.OleDbCommand();
csvCmd.CommandText = ("Select * From [Sheet1$]");
//csv file being in localDir
//assign the cmd to a connection
csvCmd.Connection = csvConn;
//create csv reader
System.Data.OleDb.OleDbDataReader csvRdr = null;
//insert the csv contents into a reader
csvRdr = csvCmd.ExecuteReader();
//open sql connection
dwConn.Open();
//create sqlbulk copy to insert the csv reader into db table
SqlBulkCopy sqlBulk = new SqlBulkCopy(dwConn);
sqlBulk.DestinationTableName = "[dbo].[MstAppointmentRegister]";
sqlBulk.WriteToServer(csvRdr);
//close csv connection
csvRdr.Close();
csvConn.Close();
//close sql connection
dwConn.Close();
lblError.Visible = true;
lblError.Text = "File Uploaded Successfully";
if (lblError.Text == "File Uploaded Successfully")
{
FillGridFromExcelSheet();
}
}
catch (Exception ex)
{
Response.Write("<br />" + ex.Message);
}
//Response.Redirect("upload_ClosingPrice.aspx?act=1");
}
else
{
lblError.Visible = true;
lblError.Text = "Please Select File";
}
}
GridView
und SqlDataSource
Markup:
<asp:GridView ID="ExcelGridView" runat="server"
Cssclass="table table-striped"
Visible="False"
AutoGenerateColumns="False"
DataKeyNames="SRID"
OnPageIndexChanging="GridView1_PageIndexChanging"
OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowDeleting="GridView1_RowDeleting"
OnRowEditing="GridView1_RowEditing"
OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:CommandField ShowEditButton="true" HeaderText="Modify" />
<asp:CommandField ShowDeleteButton="true" HeaderText="Remove" />
<asp:BoundField DataField="SRID" HeaderText="SRID" />
<asp:BoundField DataField="Emp_Code" HeaderText="Emp_Code" />
<asp:BoundField DataField="Letter" HeaderText="Letter" />
<asp:BoundField DataField="Letter" HeaderText="Letter" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="First_Name" HeaderText="First_Name" />
<asp:BoundField DataField="Address_Line1" HeaderText="Address_Line1" />
<asp:BoundField DataField="Address_Line2" HeaderText="Address_Line2" />
<asp:BoundField DataField="Address_Line3" HeaderText="Address_Line3" />
<asp:BoundField DataField="DOJ" HeaderText="DOJ" />
<asp:BoundField DataField="Designation" HeaderText="Designation" />
<asp:BoundField DataField="CTC" HeaderText="CTC" />
<asp:BoundField DataField="CTC_in_Words" HeaderText="CTC in Words" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="Data Source=103.21.58.193;Initial Catalog=jig_match_db;User ID=jig_match_db;[email protected]"
DeleteCommand="DELETE FROM [MstAppointmentRegister] WHERE [SRID] = @SRID"
SelectCommand="SELECT * FROM [MstAppointmentRegister]"
UpdateCommand="UPDATE [MstAppointmentRegister] SET [Name] = @Name, [First_Name] = @First_Name, [Address_Line_1] = @Address_Line_1, [Address_Line_2] = @Address_Line_2, [Address_Line_3] = @Address_Line_3, [DOJ] = @DOJ, [Designation] = @Designation, [CTC] = @CTC, [CTC_in_Words] = @CTC_in_Word WHERE [SRID] = @SRID"
InsertCommand="INSERT INTO [MstAppointmentRegister] ([Name],[First_Name],[Address_Line_1],[Address_Line_2],[Address_Line_3],[DOJ],[Designation],[CTC],[CTC_in_Words]) VALUES (@Name,@First_Name,@Address_Line_1,@Address_Line_2,@Address_Line_3,@DOJ,@Designation,@CTC,@CTC_in_Words)">
<DeleteParameters>
<asp:Parameter Name="SRID" Type="Int64" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Emp_Code" Type="String" />
<asp:Parameter Name="Letter" Type="String" />
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="First_Name" Type="String" />
<asp:Parameter Name="Address_Line1" Type="String" />
<asp:Parameter Name="Address_Line2" Type="String" />
<asp:Parameter Name="Address_Line3" Type="String" />
<asp:Parameter Name="DOJ" Type="String" />
<asp:Parameter Name="Designation" Type="String" />
<asp:Parameter Name="CTC" Type="String" />
<asp:Parameter Name="CTC_in_Words" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
Datenbankschema für die Tabelle MstAppointmentRegister
:
CREATE TABLE [dbo].[MstAppointmentRegister](
[SRID] [bigint] IDENTITY(1,1) NOT NULL,
[EMP_Code] [varchar](150) NULL,
[Letter][varchar](200) NULL,
[Name] [varchar](150) NULL,
[First_Name] [varchar](100) NULL,
[Address_Line_1] [varchar](100) NULL,
[Address_Line_2] [varchar](150) NULL,
[Address_Line_3] [varchar](100) NULL,
[DOJ] [varchar](100) NULL,
[Designation] [varchar](150) NULL,
[CTC] [varchar](150) NULL,
[CTC_in_Words] [varchar](150) NULL,
CONSTRAINT [PK_mstappointmentregister] PRIMARY KEY CLUSTERED
(
[SRID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Bitte helfen Sie mir?
bitte die Struktur der Datenbanktabelle zeigen 'MstAppointmentRegister' auch chec k if'Emp_Code' wird in die Datenbank eingefügt. – naveen
Emp-Code wird nicht eingefügt :( – Jatin
so ist das Problem mit BulkInsert. Überprüfen Sie, ob es eine Emp_Code Spalte in Ihrer Datenbank gibt. Was ist der Datentyp?Überprüfen Sie auch auf Rechtschreibfehler für den Spaltennamen in der Tabelle und Excel – naveen