简体   繁体   English

从CSV文件导入数据到msaccess的Sql是否正确

[英]is It correct Sql to import data from csv file into msaccess

"INSERT INTO CricketMatch
(FName,LastName,Runs,Matches,Location,DateofMatch,PLayerId)
SELECT
    Fname,Lname,Runsby,numberofMatches,MatchLocation,DofMatch,Id
FROM [Text;Data Source=C:\\DB\\;HDR=YES].[filename]";

filename is just name with extension demo.csv no path 文件名只是带有扩展名demo.csv的名称没有路径

cmd.CDataSet da = new DataSet();string filename = Path.GetFileName(txtCSVFilePath.Text);
try {da = this.ConnectCSV(filename);
     string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\DB\\MatchDetails.accdb"; 
    OleDbConnection conn = new OleDbConnection(connstring);
    OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;conn.Open(); 
    for (int i = 0; i <= da.Tables["Ss"].Rows.Count - 1; i++){ 
        for (int j = 1; j <= da.Tables["Ss"].Columns.Count - 1;j++){ 
           cmd.CommandText="INSERTINTOCricketMatch(FName,LastName,Runs,Matches,Location,DateofMatch,PLayerId)SELECT(Fname,Lname,Runsby,numberofMatches,MatchLocation,DofMatch,Id)  FROM [Text;FMT=Delimited(;);HDR=NO;DATABASE=C:\\DB]." + filename;cmd.Connection = conn; cmd.ExecuteNonQuery();} }} 

this is what i am trying 这就是我正在尝试的

Your syntax looks pretty close -- try something like this to connect to the csv file: 您的语法看起来非常接近-尝试使用以下方法连接到csv文件:

SELECT Fname,
  Lname,
  Runsby,
  numberofMatches,
  MatchLocation,
  DofMatch,
  Id 
FROM [Text;FMT=Delimited;HDR=YES;DATABASE=C:\DB].filename.csv;

Like so, as I already said: 就像我已经说过的:

INSERT INTO CricketMatch
(FName,LastName,Runs,Matches,Location,DateofMatch,PLayerId)
SELECT
    Fname,Lname,Runsby,numberofMatches,MatchLocation,DofMatch,Id
FROM [Text;Database=z:\docs\;HDR=yes].[importfilename.csv]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM