Импорт данных в SQL server
я импортирую данные в sql server из CSV файла теперь я получаю эту проблему
String was not recognized as a valid DateTime.Couldn't store <20180526> in Date Column. Expected type is DateTime.
Что я уже пробовал:
Код добавлен из ответов;
here is my complete code using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using System.IO; using System.Configuration; namespace BindGridviewFromCSVFile { public partial class BindGridview : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnFileUpload_Click(object sender, EventArgs e) { //Creating object of datatable //Upload and save the file. //getting full file path of Uploaded file string CSVFilePath = Server.MapPath(FileUpload1.PostedFile.FileName); //Reading All text string ReadCSV = File.ReadAllText(CSVFilePath); DataTable dt = new DataTable("HR"); //DataColumn dateColumn = new DataColumn(); //dateColumn.ColumnName = "Date"; //dt.Columns.AddRange(new DataColumn[5] { new DataColumn("Empcode", typeof(int)), //new DataColumn("Days", typeof(int)), // new DataColumn("Date", typeof(int)), //DateTime Date = Convert.ToDateTime("Date"); // table.Columns.Add("SaleDate", typeof(DateTime)); // new DataColumn("Time", typeof(int)), // new DataColumn("IN/OUT", typeof(int)),}); // Create Column 1: SaleDate DataColumn DaysColumn = new DataColumn(); // dateColumn.DataType = Type.GetType("System.int"); DaysColumn.ColumnName = "Days"; DataColumn dateColumn = new DataColumn(); dateColumn.DataType = Type.GetType("System.DateTime"); dateColumn.ColumnName = "Date"; // Create Column 2: ProductName DataColumn timeNameColumn = new DataColumn(); timeNameColumn.ColumnName = "Time"; // Create Column 3: TotalSales DataColumn INOUTColumn = new DataColumn(); // totalSalesColumn.DataType = Type.GetType("System.int"); INOUTColumn.ColumnName = "IN/OUT"; // EmpcodeColumn.DataType = Type.GetType("int"); DataColumn EmpcodeColumn = new DataColumn(); EmpcodeColumn.ColumnName = "Empcode"; // Add the columns to the ProductSalesData DataTable dt.Columns.Add(DaysColumn); dt.Columns.Add(dateColumn); dt.Columns.Add(timeNameColumn); dt.Columns.Add(INOUTColumn); dt.Columns.Add(EmpcodeColumn); // Let's populate the datatable with our stats. // You can add as many rows as you want here! // Create a new row //DataRow dailyProductSalesRow = dt.NewRow(); //dailyProductSalesRow["Empcode"] = ""; //dailyProductSalesRow["Days"] = ""; //dailyProductSalesRow["Date"] = DateTime.Today; //dailyProductSalesRow["Time"] = ""; //dailyProductSalesRow["IN/OUT"] = ""; string csvData = File.ReadAllText(CSVFilePath); foreach (string row in csvData.Split('\n')) { if (!string.IsNullOrEmpty(row)) { dt.Rows.Add(); int i = 0; foreach (string cell in row.Split(',')) { dt.Rows[dt.Rows.Count - 1][i] = cell; i++; } } } SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Institute;Integrated Security=True"); // con.Open(); { using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con)) { //Set the database table name. sqlBulkCopy.DestinationTableName =
F-ES Sitecore
Похоже, что есть проблема с вашим кодом, но поскольку вы не показали нам код, невозможно дать явный совет.
Member 12314309
вот мой полный код
использование системы;
использование системы.Сеть;
использование System.Web.UI;
используя системы.Веб.Пользовательского интерфейса.WebControls;
использование System.Data;
используя системы.Данных.Поставщики sqlclient;
использование System.Data.Для oledb;
использование системы.ИО;
использование системы.Конфигурация;
пространство имен BindGridviewFromCSVFile
{
общественный разделяемого класса BindGridview : система.Веб.Пользовательского интерфейса.Страницы
{
охраняемых недействительными в(объект отправителя, EventArgs в электронной)
{
}
охраняемых недействительными btnFileUpload_Click(объект отправителя, EventArgs в электронной)
{
//Создание объекта datatable
//Загрузите и сохраните файл.
//получение полного пути к загруженному файлу
строка CSVFilePath = сервер.MapPath(FileUpload1.PostedFile.имя файла);
//Чтение всего текста
строка ReadCSV = файл.ReadAllText(CSVFilePath);
DataTable dt = новый DataTable("HR");
//DataColumn dateColumn = новый столбец данных();
//dateColumn.ColumnName = "Дата";
//ДТ.колонки.AddRange(new DataColumn[5] { new DataColumn("Empcode", typeof(int)),
//new DataColumn("Days", typeof(int)),
// new DataColumn("Date", typeof(int)),
//DateTime Date = Конвертировать.ToDateTime("Дата");
// стол.Столбцы.Добавить("SaleDate", typeof(DateTime));
// new DataColumn("Time", typeof(int)),
// new DataColumn("IN/OUT", typeof(int)),});
// Создать Столбец 1: SaleDate
Объект datacolumn столбец дней = новый объект datacolumn();
// dateColumn.Тип = Тип.Метод Gettype (Системы".инт");
Дневная колонка.ColumnName = "Дни";
DataColumn dateColumn = новый столбец данных();
dateColumn.Тип = Тип.GetType("Система.значение datetime");
dateColumn.ColumnName = "Дата";
// Создать Столбец 2: Марка
DataColumn timeNameColumn = новый столбец данных();
timeNameColumn.ColumnName = "Время";
// Создать Столбец 3: Итоговые Продажи
DataColumn INOUTColumn = новый столбец данных();
// totalSalesColumn.Тип = Тип.Метод Gettype (Системы".инт");
INOUTColumn.ColumnName = "IN/OUT";
// EmpcodeColumn.Тип = Тип.GetType("int");
DataColumn EmpcodeColumn = новый столбец данных();
EmpcodeColumn.ColumnName = "Empcode";
// Добавьте столбцы в таблицу ProductSalesData DataTable
ДТ.колонны.Добавить(Столбец Дней);
ДТ.колонны.Добавить(dateColumn);
ДТ.колонны.Добавить(timeNameColumn);
ДТ.колонны.Добавить(INOUTColumn);
ДТ.колонны.Добавить(EmpcodeColumn);
// Давайте заполним datatable нашей статистикой.
// Вы можете добавить здесь столько строк, сколько захотите!
// Создать новую строку
//DailyProductSalesRow строкаданных = ДТ.Невров();
//dailyProductSalesRow["Empcode"] = "";
//dailyProductSalesRow["дни"] = "";
//dailyProductSalesRow["Date"] = DateTime.Сегодня;
//dailyProductSalesRow["время"] = "";
//dailyProductSalesRow["IN/OUT"] = "";
строка csvData = файл.ReadAllText(CSVFilePath);
foreach (строка строки в csvData.Split('\n'))
{
если (!строка.IsNullOrEmpty(строка))
{
ДТ.Строк.Добавить();
int i = 0;
foreach (строковая ячейка в строке.Расщеплять(','))
{
dt.Rows[dt.Rows.Count - 1][i] = ячейка;
я++;
}
}
}
SqlConnection con = new SqlConnection("источник данных=.;начальный каталог=институт;Интегрированная безопасность=True");
// кон.Открыть();
{
использование (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
{
//Задайте имя таблицы базы данных.
sqlBulkCopy.DestinationTableName =
Vincent Maverick Durano
Пожалуйста, используйте ссылку действия "улучшить вопрос" и разместите там свой код. Также скажите нам, какая строка вызывает ошибку.