저는 학생이기 때문에 프로그래밍에 익숙하지 않으며 ASP를 사용하는 작업이 주어졌습니다. NET 및 C#도 배울 필요가 없습니다. 계획은 우리 자신을 가르치는 법을 배우는 것입니다.asp.net 및 C#을 사용하여 CSV 파일을 SQL Server 데이터베이스로 가져 오려고합니다. 내가 누락 된 내용을 찾을 수 없습니다.
내가 맡은 작업은 CSV 파일에서 캠퍼스 주변 작년 방의 SQL Server 데이터베이스로 웹 사이트를 가져 오는 것입니다.
표는 일반적으로 다음과 같은 열이 내 코드에서
Request_ID;
Priority;
Module_ID;
Day;
Start_Time;
Length;
Park;
Students;
Room_Code;
Status;
Semester_ID;
Linked_Request;
Week_1;
Week_2;
Week_3;
Week_4;
Week_5;
Week_6;
Week_7;
Week_8;
Week_9;
Week_10;
Week_11;
Week_12;
Week_13;
Week_14;
Week_15;)
, 나는 그것이 우선 만 3 열 (Request_ID,Priority,Module)
을 작동하게하려고합니다. comma separating the fields [delimiter]
- - 그리고 SQL Server 데이터베이스로 가져올 나는 Import
버튼을 누르면
, 나는 그것 (고정 디렉토리에 고정 된 이름) 예 "1,2,3"
을 .csv
파일을 읽고 싶어. 그런 다음 데이터 그리드에도 표시해야합니다. 이 같은
뭔가 :
비주얼 스튜디오 내 코드를 구축 할 것입니다,하지만 난 "가져 오기"버튼을 누르면 아무 일도 발생하지 않습니다. 이 코드를 사용하여 며칠 동안 실험 해 보았습니다. 실수가 어디인지 정확히 알 수 없습니다. 내일 마감일이 있기 때문에 누군가 내가 무엇을 놓쳤는 지 말할 수 있다면 감사 할 것입니다.
여기 내 코드입니다 :
영문 :
<!DOCTYPE html>
<script runat="server">
Protected Sub Import_button_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub Page_Load(sender As Object, e As EventArgs)
End Sub
</script>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Timetabling Support Website</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Loading Bootstrap -->
<link href="css/bootstrap.css" rel="stylesheet">
<!-- Loading Flat UI -->
<link href="css/flat-ui.css" rel="stylesheet">
<!-- Loading Unsemantic -->
<link href="css/unsemantic-grid-responsive.css" rel="stylesheet">
<!-- Loading Personalized Style -->
<link href="css/style.css" rel="stylesheet">
<link rel="shortcut icon" href="images/favicon.ico">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. -->
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<form id="form1" runat="server">
<div class="grid-container">
<div class="header grid-100">
<div class="banner grid-70">
<img src="images/banner3.png" id="banner" alt="Loughborough Uni Logo" />
</div>
<div class="logout grid-30">
<p id="logout"> Welcome, Computer Science Timetabler. | <a href="index.html">Logout</a></p>
</div>
</div>
<div class="navbar navbar-inverse">
<div class="navbar-inner">
<ul class="nav">
<li>
<a href="home.html">
Home
</a>
</li>
<li>
<a href="#">
Requests
</a>
<ul>
<li>
<a href="request_new.html">New Request</a>
</li>
<li>
<a href="request_import.html">Import Requests</a>
</li>
<li>
<a href="request_current.html">Current Requests</a>
</li>
<li>
<a href="request_adhoc.html">Ad-Hoc Request</a>
</li>
</ul> <!-- /Sub menu -->
</li>
<li>
<a href="room_availability.html">
Room Availability
</a>
</li>
<li>
<a href="#">
History
</a>
<ul>
<li>
<a href="#">Semester 1</a>
<ul>
<li>
<a href="history_s1priority.html">Priority Round</a>
</li>
<li>
<a href="history_s1round1.html">Round 1</a>
</li>
<li>
<a href="history_current.html">Round 2</a>
</li>
<li>
<a href="history.html">Final Allocations</a>
</li>
</ul> <!-- /Sub menu -->
</li>
<li>
<a href="#">Semester 2</a>
<ul>
<li>
<a href="history.html">Priority Round</a>
</li>
<li>
<a href="history.html">Round 1</a>
</li>
<li>
<a href="history.html">Round 2</a>
</li>
<li>
<a href="history.html">Final Allocations</a>
</li>
</ul> <!-- /Sub menu -->
</li>
</ul> <!-- /Sub menu -->
</li>
<li>
<a href="#">
Maintenance
</a>
<ul>
<li>
<a href="module_add.html">Add Module</a>
</li>
<li>
<a href="module_edit.html">Edit Module</a>
</li>
</ul> <!-- /Sub menu -->
</li>
<li>
<a href="help.html">
Help
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
<div class="content center">
<h1>Import Request
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Request_ID" HeaderText="Request_ID" SortExpression="Request_ID" />
<asp:BoundField DataField="Priority" HeaderText="Priority" SortExpression="Priority" />
<asp:BoundField DataField="Module_ID" HeaderText="Module_ID" SortExpression="Module_ID" />
</Columns>
</asp:GridView>
</h1>
<asp:Button ID="Button1" runat="server" Text="Import"
OnClick="Import_button_Click" style="height: 26px"/>
</div>
<div class="grid-100 footer">
<p>Copyright © 2013 Team 3 Timetabling Support Website</p>
</div>
</div> <!-- /container -->
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:team03ConnectionString %>"
SelectCommand="SELECT * FROM [Archive]"></asp:SqlDataSource>
<!-- Load JS here for greater good =============================-->
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/jquery-ui-1.10.0.custom.min.js"></script>
<script src="js/jquery.dropkick-1.0.0.js"></script>
<script src="js/custom_checkbox_and_radio.js"></script>
<script src="js/custom_radio.js"></script>
<script src="js/jquery.tagsinput.js"></script>
<script src="js/bootstrap-tooltip.js"></script>
<script src="js/jquery.placeholder.js"></script>
<script src="http://vjs.zencdn.net/c/video.js"></script>
<script src="js/application.js"></script>
<!--[if lt IE 8]>
<script src="js/icon-font-ie7.js"></script>
<script src="js/icon-font-ie7-24.js"></script>
<![endif]-->
</form>
</body>
</html>
C 번호 : 사전에
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.VisualBasic.FileIO;
using System.Data.SqlClient;
namespace ImportPage
{
public class CSVFile
{
public int Request_ID { get; set; }
public int Priority { get; set; }
public int Module_ID { get; set; }
//...
}
public class CSV
{
public string GetConnectionString()
{ return System.Configuration.ConfigurationManager.ConnectionStrings["team03ConnectionString"].ConnectionString; }
protected void Import_button_Click(object sender, EventArgs e)
{
//String request_ID2 = "";
List<CSVFile> entries = new List<CSVFile>();
using (TextFieldParser parser = new TextFieldParser(@"PreviousYear.txt"))
{
parser.TextFieldType = FieldType.Delimited;
parser.Delimiters = new string[] { "," };
string[] fields;
while (!parser.EndOfData)
{
fields = parser.ReadFields();
entries.Add(new CSVFile()
{
Request_ID = Convert.ToInt32(fields[0]),
Priority = Convert.ToInt32(fields[1]),
Module_ID = Convert.ToInt32(fields[2])
//...
});
}
}
using (SqlConnection conn = new SqlConnection(GetConnectionString()))
{
string sql = "Insert INTO Requests (Priority, Module_ID) OUTPUT INSERTED.Request_ID VALUES (@Priority, @Module_ID)";
try
{
conn.Open();
foreach (CSVFile entry in entries)
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@Priority", entry.Priority);
cmd.Parameters.AddWithValue("@Module_ID", entry.Module_ID);
// ...
cmd.ExecuteNonQuery();
}
}
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Insert Error:";
msg += ex.Message;
throw new Exception(msg);
}
catch (FormatException ee)
{
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert('Please enter a valid value');</SCRIPT>");
}
catch (System.Exception eeee)
{
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert('System Exception');</SCRIPT>");
}
}
}
}
}
감사합니다. 도움의 어떤 모양든지 중대하게 평가 될 것입니다.