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,