除非我关闭并再次打开表单,否则无法重新运行选择查询

时间:2016-07-30 12:56:55

标签: c# mysql sql select windows-forms-designer

您好我在c#windows窗体应用程序中使用此函数从我的数据库中获取一行并将结果绑定到文本框 它工作得很好而且速度很快但是如果我再次运行它(获得另一行)它会崩溃 只有关闭表单并重新打开它才能再次运行查询

我可以多次运行插入查询并且它可以完美地运行

我必须处理其他任何事情吗? 我做错了什么

UPDATE:我把它放在try catch中,我收到了这条异常消息: 这会导致集合中的两个绑定绑定到同一属性,参数名称:binding

    private void loadcar()
    {
        SqlConnection conn = new SqlConnection();
        conn = dbclass.getconnection();
        conn.Open();
        // Create the command
        SqlCommand command = new SqlCommand("SELECT * FROM Cars WHERE CarId LIKE '"+ caridtxt.Text.ToString()+"'", conn);
      //  command.Parameters.AddWithValue("@carid", caridtxt.Text.ToString());
        SqlDataAdapter adapter = new SqlDataAdapter(command);

        DataSet ds = new DataSet();
        adapter.Fill(ds, "Car");
        command.Dispose();
        adapter.Dispose();
        if (ds.Tables["Car"].Rows.Count != 0)
        {
            if ((int)ds.Tables["Car"].Rows[0]["CarDest"] == 0)
            {
                cardest0radio.Checked = true;
            }
            else { cardest1radio.Checked = true; }
            if ((int)ds.Tables["Car"].Rows[0]["HaveKeys"] == 0)
            {
                carhavenkradio.Checked = true;
            }
            else { carhavekradio.Checked = true; }

            if ((int)ds.Tables["Car"].Rows[0]["CarIsFree"] == 1)
            {
                carfreechk.Checked = true;
                carmsnametxt.ReadOnly = false;
                carfdate.Enabled = true;
                carmsnametxt.DataBindings.Add("Text", ds.Tables["Car"], "FreeName");
                carfdate.DataBindings.Add("Text", ds.Tables["Car"], "FreeDate");
            }
            else
            {
                carfreechk.Checked = false;
                carmsnametxt.ReadOnly = true;
                carfdate.Enabled = false;
            }

            carbrandcmb.SelectedValue = ds.Tables["Car"].Rows[0]["CarBrand"].ToString();
            carmodelcmb.SelectedValue = ds.Tables["car"].Rows[0]["CarModel"].ToString();
            carengtxt.DataBindings.Add("Text", ds.Tables["Car"], "CarEngine");
            carmilagetxt.DataBindings.Add("Text", ds.Tables["Car"], "Milage");
            carprctxt.DataBindings.Add("Text", ds.Tables["Car"], "BookPrice");
            caryeartxt.DataBindings.Add("Text", ds.Tables["Car"], "CarYear");
            carbfromtxt.DataBindings.Add("Text", ds.Tables["Car"], "BoughtFrom");
            carbpricetxt.DataBindings.Add("Text", ds.Tables["Car"], "BuyPrice");
            carbinvtxt.DataBindings.Add("Text", ds.Tables["Car"], "BInvNum");
            carinscotxt.DataBindings.Add("Text", ds.Tables["Car"], "InsComp");
            carshnametxt.DataBindings.Add("Text", ds.Tables["car"], "Shmai");
            carbmemotxt.DataBindings.Add("Text", ds.Tables["Car"], "Memos");
            carbdate.DataBindings.Add("Text", ds.Tables["Car"], "DateOfBuy");
            if ((int)ds.Tables["Car"].Rows[0]["CarIsSold"] == 1)
            {
                carhavenkradio.Checked = true;
            }
            else { carhavekradio.Checked = true; }
        }
        else { MessageBox.Show("Car Not Found"); }
        ds.Dispose();
        conn.Close();
    }

0 个答案:

没有答案