2012-05-18 3 views
0

В моем коде приведена приведенная выше ошибка.Строка не признана действительной датой

Я попытался изменить его на основе ссылке ниже:

String was not recognized as a valid DateTime “ format dd/MM/yyyy”

, но он по-прежнему не работает.

Был бы благодарен, если кто-то может указать мне в правильном направлении.

Мой код ниже:

foreach (GridViewRow row in GridView1.Rows) 

     { 

     // int RowIndex = 0; 
     // GridViewRow row = (GridViewRow)GridView1.Rows[RowIndex]; 

      Int32 intresortID = Convert.ToInt32(Request.QueryString["TypeID"]); 
      Label dtm = row.FindControl("Label1") as Label; 
      Label strRoomType = row.FindControl("Label2") as Label; 
      Label strDescription = row.FindControl("Label3") as Label; 
      TextBox Qty = row.FindControl("intQtyTextBox") as TextBox; 
      TextBox Price = row.FindControl("curPriceTextBox") as TextBox; 
      Label intWSCode = row.FindControl("intWSCodeLabel") as Label; 

      string connStr = ConfigurationManager.ConnectionStrings["bestandConnectionString"].ConnectionString; 
      using (SqlConnection Con = new SqlConnection(connStr)) 
      { 
       Con.Open(); 
       SqlCommand cmd = new SqlCommand("Update tblAvail set [email protected], [email protected] where [email protected] and [email protected] and [email protected]", Con); 

cmd.Parameters.AddWithValue ("@ ЦМР", DateTime.ParseExact (dtm.Text.Trim(), "дд/мм/гггг", ноль)); линия дает ошибку

   cmd.Parameters.AddWithValue("@strroomtype", strRoomType.Text.Trim()); 
       cmd.Parameters.AddWithValue("@intQty", Qty.Text.Trim()); 
       cmd.Parameters.AddWithValue("@curPrice", Price.Text.Trim()); 
       cmd.Parameters.AddWithValue("@intResortID", intresortID); 

       cmd.ExecuteNonQuery(); 
       GridView1.EditIndex = -1; 
       DataBind(); 

      } 

В режиме дизайна:

<ItemTemplate> 
     <asp:Label ID="Label1" runat="server" 
         Text='<%# Eval("Dtm", "{0:dd/MM/yyyy}") %>'></asp:Label> 
    </ItemTemplate> 

При отладке значение ЦМР приходит как:

{Text = "18/05/2012"}

+0

Вы можете отлаживать метод и посмотреть, как значение даты приходит и отправить его в свой вопрос? –

+1

Попробуйте использовать SqlDateTime.Parse вместо DateTime.ParseExact –

+0

Я получаю ошибку, говорящую, что SQLDatetime не существует в этом текущем контексте. – user1270384

ответ

1

Пробег:

DateTime.ParseExact(dtm.Text.Trim(), "dd/M/yyyy", System.Globalization.CultureInfo.InvariantCulture) 

четыре в год вместо 3 и InvariantCulture

+0

Это была ошибка типографии, извинения. Изменили мой код, чтобы показать правильный путь. он все еще дает ошибку. – user1270384

+0

@ user1270384: я также отредактировал свой ответ и добавил 'CultureInfo.InvariantCulture' –

+0

не повезло ... все равно дает такую ​​же ошибку. Когда я перехожу в режим отладки, читаем как dtm.text = {"18/5/2012"} – user1270384

Смежные вопросы