Экспорт дат из таблицы mysql в файл. CSV
Привет,
Я попытался экспортировать таблицу MySQL в файл.csv, но там что-то не работает, и я не могу понять, что это такое. Сначала я попытался сохранить даты в DataTable, а затем экспортировать их в файл. csv с помощью этой функции:
* Ошибка: "
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1" at sda.Fill(data); <pre>public void CreateCSVFile(DataTable dtDataTablesList, string strFilePath) { // Create the CSV file to which grid data will be exported. StreamWriter sw = new StreamWriter(strFilePath, false); //First we will write the headers. int iColCount = dtDataTablesList.Columns.Count; for (int i = 0; i < iColCount; i++) { sw.Write(dtDataTablesList.Columns[i]); if (i < iColCount - 1) { sw.Write("", ""); } } sw.Write(sw.NewLine); // Now write all the rows. foreach (DataRow dr in dtDataTablesList.Rows) { for (int i = 0; i < iColCount; i++) { if (!Convert.IsDBNull(dr[i])) { sw.Write(dr[i].ToString()); } if (i < iColCount - 1) { sw.Write("", ""); } } sw.Write(sw.NewLine); } sw.Close(); }
Что я уже пробовал:
MySqlConnection connection = CDBAccess.GetCon;
MySqlCommand sSql = new MySqlCommand ("SELECT * from mytable;", соединение);
MySqlDataAdapter sda = новый MySqlDataAdapter();
АСД.SelectCommand = sSql;
DataTable data = новый DataTable();
sda. Fill(данные);
Путь к строке = @"C:\Users\Public\Documents\MyDocument";
CreateCSVFile(data, path);
MayurDighe
"TheRealProgrammer";)
Используйте Отладчик.
TheRealProgrammer
Что это меняет? Он по-прежнему останавливается на ПДД.Заполнить(данные) с той же самой ошибкой.
MayurDighe
Это сэкономит много времени.
Вы поймете, какие данные передаются в какую переменную? Кроме того, вы можете убедиться, что переданные данные верны или нет?
Он останавливается на sda. fill (data)... потому что машина не понимает, что делать дальше?
У вас есть эксплицитность научить машину, что дальше? Вот почему отладчик входит в картину, чтобы знать, где код на самом деле терпит неудачу.
TheRealProgrammer
Строка NowDate "20161004075341"
+ подключение {с MySQL.Данных.MySqlClient.MySqlConnection} MySql. Data.MySqlClient.MySqlConnection
+ sSql {MySql. Data.MySqlClient.MySqlCommand} MySql. Data.MySqlClient.MySqlCommand
+ ПДД {с MySQL.Данных.MySqlClient.MySqlDataAdapter} MySql. Data.MySqlClient.MySqlDataAdapter
+ сведения {система}.Данных.Объект DataTable
путь нулевая строка
Похоже, что-то с моим MySqlComand an DataAdapter не так.
MayurDighe
"путь нулевой строки"
убедитесь, что каждая строка кода имеет или передает правильные значения в следующую.
Используйте отладчик и проведите мозговой штурм.
TheRealProgrammer
Не путь неправильный, а что-то со строкой MySQL не так.
TheRealProgrammer
Почему sSql возвращает "{MySql.Data.MySqlClient.MySqlCommand}", а не "SELECT * from mytable"?
MayurDighe
Именно так. Вот почему-используйте отладчик.
Идите строчка за строчкой.
TheRealProgrammer
Я ничего не могу найти.