c# – Specified cast is not valid?
c# – Specified cast is not valid?
From your comment:
this line
DateTime Date = reader.GetDateTime(0);
was throwing the exception
The first column is not a valid DateTime. Most likely, you have multiple columns in your table, and youre retrieving them all by running this query:
SELECT * from INFO
Replace it with a query that retrieves only the two columns youre interested in:
SELECT YOUR_DATE_COLUMN, YOUR_TIME_COLUMN from INFO
Then try reading the values again:
var Date = reader.GetDateTime(0);
var Time = reader.GetTimeSpan(1); // equivalent to time(7) from your database
Or:
var Date = Convert.ToDateTime(reader[YOUR_DATE_COLUMN]);
var Time = (TimeSpan)reader[YOUR_TIME_COLUMN];
htmlStr
is string then You need to Date
and Time
variables to string
while (reader.Read())
{
DateTime Date = reader.GetDateTime(0);
DateTime Time = reader.GetDateTime(1);
htmlStr += <tr><td> + Date.ToString() + </td><td> +
Time.ToString() + </td></tr>;
}
c# – Specified cast is not valid?
Try this:
public void LoadData()
{
SqlConnection con = new SqlConnection(Data Source=.;Initial Catalog=Stocks;Integrated Security=True;Pooling=False);
SqlDataAdapter sda = new SqlDataAdapter(Select * From [Stocks].[dbo].[product], con);
DataTable dt = new DataTable();
sda.Fill(dt);
DataGridView1.Rows.Clear();
foreach (DataRow item in dt.Rows)
{
int n = DataGridView1.Rows.Add();
DataGridView1.Rows[n].Cells[0].Value = item[ProductCode].ToString();
DataGridView1.Rows[n].Cells[1].Value = item[Productname].ToString();
DataGridView1.Rows[n].Cells[2].Value = item[qty].ToString();
if ((bool)item[productstatus])
{
DataGridView1.Rows[n].Cells[3].Value = Active;
}
else
{
DataGridView1.Rows[n].Cells[3].Value = Deactive;
}