엑셀 파일을 데이터베이스에 복사하고 싶습니다. 내가 가지고있는 문제는 코드 - 비하인드에서 경로를 복사하는 것 같다.ASP : 내 코드 숨김 방법으로 파일 경로 전체 복사하기
string path = @"C:\Users\moynik\Desktop\datatest.xls";
을하지만 난 다음 줄을 사용하는 경우 난 단지 작동하지 않습니다 다른 경로를 얻을 :
<asp:FileUpload id="FileUploadControl" runat="server" />
<asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" />
<br /><br />
<asp:Label runat="server" id="StatusLabel" text="Upload status: " />
는 경로 I 하드 코드는 다음 내 코드가 작동하는지 : 이것은 내 ASP 코드 .
string path = Path.GetFullPath(FileUploadControl.FileName);
하지만 내 경로를 동적으로 만들어야 사용자가 다른 컴퓨터에서 업로드 할 수 있습니다. 누구든지 나를 도울 수 있습니까? 이것은 작동하고 데이터베이스 파일을 Excel 파일로 복사하는 기능입니다.
이것이 불가능할 경우 누군가가 해결책을 찾으면 도움을 줄 수 있습니다. 감사합니다
protected void UploadButton_Click(object sender, EventArgs e)
{
if (FileUploadControl.HasFile)
{
try
{
string path = @"C:\Users\moynik\Desktop\datatest.xls";
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;";
using (OleDbConnection connection = new OleDbConnection(connStr))
{
OleDbCommand command = new OleDbCommand ("Select Name,Address,Age FROM [Sheet1$]", connection);
connection.Open();
using (DbDataReader dr = command.ExecuteReader())
{
string sqlConnectionString = "SERVER=<servername>;UID=schafc;Trusted_Connection=Yes;DATABASE=<dbname>;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
{
bulkCopy.DestinationTableName = "<tableName>";
bulkCopy.WriteToServer(dr);
}
}
}
StatusLabel.Text = "Upload status: File uploaded!";
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
사용자가 선택할 수 있도록 경로 구조와 같은 웹 페이지를 제공해야 할 수도 있습니다. –