не указан аргумент, соответствующий ошибке параметра требуемого формата

#c# #sql #asp.net #database #string

#c# #sql #asp.net #База данных #строка

Вопрос:

я столкнулся с некоторыми проблемами с моей функцией вставки.

я пытаюсь сделать мою строку listing_ID автоинкрементным int без необходимости ввода, однако при кодировании для кнопки отправки я включил все входные данные для всех других значений, но не listing_ID , это дало мне ошибку ниже. ниже приведены все изображения, и это коды для функции insert.

список открытых классов

 {
    private string _listID = "";
    private string _car_model = "";
    private string _brand_name = "";
    private string _car_description = "";
    private string _car_condition = "";
    private string _price = "";
    private string _inspection_date = "";


    string _connStr = ConfigurationManager.ConnectionStrings["roadbnb.mdf"].ConnectionString;

    public Carlisting(string listID, string car_model, string brand_name, string car_description, string car_condition, string price, string inspection_date)
    {
        _listID = listID;
        _car_model = car_model;
        _brand_name = brand_name;
        _car_description = car_description;
        _car_condition = car_condition;
        _price = price;
        _inspection_date = inspection_date;

    }

    public Carlisting()
    {
    }

    public string listing_ID
    {
        get { return _listID;  }
        set { _listID = value; }
    }

    public string car_model
    {
        get { return _car_model; }
        set { _brand_name = value; }
    }
    public string brand_name
    {
        get { return _brand_name; }
        set { _brand_name = value; }
    }
    public string car_description
    {
        get { return _car_description; }
        set { _car_description = value; }
    }

    public string car_condition
    {
        get { return _car_condition; }
        set { _car_condition = value; }
    }
    public string price
    {
        get { return _price; }
        set { _price = value; }
    }

    public string inspection_date
    {
        get { return _inspection_date; }
        set { _inspection_date = value; }
    }
 

защищенная пустота btn_submit_Click(отправитель объекта, EventArgs e)

     {

        int result = 0;

        Carlisting car = new Carlisting(tb_model.Text, tb_brand.Text, tb_description.Text, dl_condition.Text, tb_price.Text, tb_date.Text);

        result = car.ListingInsert();

        if (result > 0)
        {
            Response.Write("<script>alert('You have succesfully added listing , PLease wait for approval');</script>");
        }
        else
        {
            Response.Write("<script>alert('Error : PLease contact helpdesk');</script>");
        }
    }
 

public int ListingInsert()
{

         int result = 0;

        string queryStr = "INSERT INTO Carlisting(car_model, brand_name, car_description, car_condition , price, inspection_date)"
                         "VALUES (@car_model, @brand_name, @car_description, @car_condition, @price, @inspection_date)";

        SqlConnection conn = new SqlConnection(_connStr);
        SqlCommand cmd = new SqlCommand(queryStr, conn);
        cmd.Parameters.AddWithValue("@car_model", this.car_model);
        cmd.Parameters.AddWithValue("@brand_Name", this.brand_name);
        cmd.Parameters.AddWithValue("@car_description", this.car_description);
        cmd.Parameters.AddWithValue("@car_condition", this.car_condition);
        cmd.Parameters.AddWithValue("@price", this.price);
        cmd.Parameters.AddWithValue("@inspection_date", this.inspection_date);

        conn.Open();
        result  = cmd.ExecuteNonQuery();
        conn.Close();
        return resu<

    }
 

Кто-нибудь знает, как это исправить, чтобы получить желаемые результаты? Заранее благодарю

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ответ №1:

Согласно вашему скриншоту, вы получаете ошибку компиляции. Чтобы исправить это, создайте другой конструктор. В настоящее время ваш код хочет вызвать конструктор, который не принимает listId в качестве параметра.

 public Carlisting(string listID, string car_model, string brand_name, string car_description, string car_condition, string price, string inspection_date) 
     : this(car_model, brand_name, car_description, car_condition, price, inspection_date)
{
        _listID = listID;
}

public Carlisting(string car_model, string brand_name, string car_description, string car_condition, string price, string inspection_date) 
{
    _car_model = car_model;
    _brand_name = brand_name;
    _car_description = car_description;
    _car_condition = car_condition;
    _price = price;
    _inspection_date = inspection_date;
}
 

При приведенном выше 1-м конструкторе вызывается другой конструктор с другими требуемыми параметрами. И для вашего кода будет вызван 2-й конструктор, и у вас не будет ошибки компиляции.