2010-09-30 31 views
1

我有一个页面,其中有一个文件上传选项,我必须上传/导入csv文件。我想要做的是检查是否上传正确的文件格式,例如,如果上传了csv文件以外的其他文件,则系统应提供错误消息。另外我需要做的是检查csv文件的某些领域,例如在csv文件中有一些必须填写的字段,如姓名,邮编,如何检查这些字段是否为空。执行完这些任务后,系统应该自动将csv文件上传到SQL SERVER 2008上。任何想法或教程......都将不胜感激。读取和检查.csv文件,然后将其上传到sql server 2008 r2

回答

0

尝试使用Oledb。这个codesnippet可以帮助你将csv文件读入数据表,这些数据表应该很容易转储到数据库中。

public static DataTable ParseCSV(string path) 
{ 
    if (!File.Exists(path)) 
    return null; 

    string full = Path.GetFullPath(path); 
    string file = Path.GetFileName(full); 
    string dir = Path.GetDirectoryName(full); 

    //create the "database" connection string 
    string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" 
    + "Data Source=\"" + dir + "\\\";" 
    + "Extended Properties=\"text;HDR=No;FMT=Delimited\""; 

    //create the database query 
    string query = "SELECT * FROM " + file; 

    //create a DataTable to hold the query results 
    DataTable dTable = new DataTable(); 

    //create an OleDbDataAdapter to execute the query 
    OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString); 

    try 
    { 
    //fill the DataTable 
    dAdapter.Fill(dTable); 
    } 
    catch (InvalidOperationException /*e*/) 
    { } 

    dAdapter.Dispose(); 

    return dTable; 
}