Member 12652110 Ответов: 1

Внешний компонент выдал исключение.


Моя дата время имеет ошибку где она дает мне ошибку

string d = Request.QueryString["ava"];
string c = Request.QueryString["to"];
string strConnString = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
int term = Convert.ToInt32(Request.QueryString["term"]);
double rate = Convert.ToDouble(Request.QueryString["rate"]);
DateTime a = Convert.ToDateTime(d);
DateTime b = Convert.ToDateTime(c);
txtEff.Text = d;
txtExp.Text = c;
txtrate.Text = Convert.ToString(rate);
txtTerm.Text = Convert.ToString(term);
txtType.Text = Request.QueryString["type"];

string str = "Select id from LoanRates where LoanTerm=@term and LoanRate=@rate and LoanAvailableFrom=@LoanAvailableFrom and LoanAvailableTo=@LoanAvailableTo and LoanType=@type";
SqlCommand insert = new SqlCommand(str, con);

insert.Parameters.AddWithValue("@term", int.Parse(txtTerm.Text));
insert.Parameters.AddWithValue("@rate", double.Parse(txtrate.Text));
insert.Parameters.AddWithValue("@type", txtType.Text);
//insert.Parameters.AddWithValue("@LoanAvailableFrom", DateTime.Parse(txtEff.Text));
//insert.Parameters.AddWithValue("@LoanAvailableTo", DateTime.Parse(txtExp.Text));
con.Open();

SqlDataReader reader = insert.ExecuteReader();
if (reader.Read())
{
    Lblid.Text = reader["Id"].ToString();
    con.Close();
}

Philippe Mori

Используйте блок кода для вашего кода, чтобы улучшить читабельность.

Maciej Los

Что такое точное сообщение об ошибке? Улучшить ваш вопрос!

Patrice T

Какое сообщение об ошибке и где в коде?
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

1 Ответов

Рейтинг:
1

Bernhard Hiller

Почему вы делаете такие странные вещи, как:

string d = Request.QueryString["ava"];
DateTime a = Convert.ToDateTime(d);
txtEff.Text = d;
//insert.Parameters.AddWithValue("@LoanAvailableFrom", DateTime.Parse(txtEff.Text));

Вместо Convert.ToDateTime использовать DateTime.ParseExact, а затем используйте это значение непосредственно для вашего SQL-запроса вместо содержимого текстового поля:
insert.Parameters.AddWithValue("@LoanAvailableFrom", a);
Конечно, вы также должны позаботиться о лучшем именовании ваших переменных.