Witam, napisałem program, który zapisuje dane z pliku “plik.csv”, zapisuje do bazy danych sql, a następnie w datagridview te dane są wyświetlane.
Jednak w kolumnie trzeciej, gdzie w oryginale( w plik.csv) podana jest data w formacie rok-miesiąc-dzień godzina-minuta-sekunda, czyli np. 6:55:57, to w DataGridView wyświetla się 6:56. Zaokrągla on więc te godziny mimo że tego nie chcę. Można zrobić to tak, by się wyświetlało tak jak ma być? rok-miesiąc-dzień godzina-minuta-sekunda? W bazie danych sql jest ok.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace Program
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Fill(string cmd)
{
dataGridView1.DataSource = null;
DataTable dt = new DataTable();
SqlConnection conn = GetConnection();
SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand(cmd, conn));
dataAdapter.Fill(dt);
dataGridView1.DataSource = dt;
}
public SqlConnection GetConnection()
{
return new SqlConnection("Data Source = EUREKA-PC; Initial Catalog = Fabryka; trusted_connection = yes");
}
public int ExecuteNonQuery(string sql)
{
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = GetConnection();
cmd = new SqlCommand(sql, conn);
conn.Open();
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null && conn.State == ConnectionState.Open)
conn.Close();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
int a = 0;
StreamReader sr = new StreamReader("plik.CSV");
string ciag = sr.ReadToEnd();
ciag = ciag.Replace(',', '.');
string[] tab = ciag.Split('\n');
string[] tab2;
a = tab.Length;
for (int i = 0; i < a; i++)
{
tab2 = tab[i].Split(';');
if (tab2[0] == "\r")
{
break;
}
ExecuteNonQuery(String.Format("INSERT into Dane (Numer1, Numer2, Data, Rejestracja, [Waga towaru], Brutto, Opłata, [Kod towaru], Nazwa, Rozładunek) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", tab2[0], tab2[1], tab2[2], tab2[3], tab2[4], tab2[5], tab2[6], tab2[7], tab2[8], tab2[9]));
}
Fill("SELECT * FROM Dane");
}
}
}