1
我正在使用ODBC Microsoft Text Driver将csv文件加载到要在datagridview中显示的数据集中,但DGV目前没有列。我可以成功地加载该文件,但我遇到的两个问题:DataAdapter.Update在执行更新方法时抛出异常
- 的两列装载罚款,但还装载第三“NONAME”列 - 为什么会发生这种情况?
- 当我使用DataAdapter做一个更新,我得到这个异常:
错误[HYS22] [微软] [ODBC文本驱动程序] INSERT INTO语句包含以下未知的字段名称:“NONAME ”。确保您输入了正确的名称,然后再次尝试操作。
有没有人知道为什么会发生这种情况?
//RefreshData Method()
OdbcConnection conn = new OdbcConnection(@"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;");
OdbcCommand comm = new OdbcCommand("Select * FROM test.csv", conn);
OdbcDataAdapter adapter = new OdbcDataAdapter(comm);
DataSet ds = new DataSet();
adapter.Fill(ds);
// ds.Tables[0].Columns.Remove("noname");
dataGridView1.DataSource = ds.Tables[0];
}
//Button Click Method
OdbcConnection conn = new OdbcConnection(@"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;");
string qry = "Select * FROM test.csv";
OdbcDataAdapter da = new OdbcDataAdapter();
da.SelectCommand = new OdbcCommand(qry, conn);
OdbcCommandBuilder cb = new OdbcCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
//ds.Tables[0].Columns.Remove("noname");
DataTable dt = ds.Tables[0];
// Add a row
DataRow newRow = dt.NewRow();
newRow[0] = this.textBox1.Text;
newRow[1] = int.Parse(this.textBox2.Text); ;
dt.Rows.Add(newRow);
da.Update(ds.Tables[0]);
conn.Close();
this.Refresh();
CSV数据:
empName,工资,
查尔斯,4324343,
安德鲁,31343970,
弗蕾迪998788966,
环,8878743,