输入字符串格式不正确

本文关键字:不正确 格式 字符串 输入 | 更新日期: 2023-09-27 17:55:02

我是c#编程新手,我无法获得此代码。我得到的错误是

输入字符串格式不正确。

我知道这是一个重复的问题,但是到目前为止我所发现的,对我没有多大帮助。我正在使用下面的代码,以插入一些数据到一个mssql数据库。

public void btnAdauga_Click(object sender, EventArgs e)
{
    try
    {
        using (SqlConnection con = new SqlConnection(cs))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(insert, con);
            cmd.Parameters.AddWithValue("@IDAutocar", txtID.Text);
            cmd.Parameters.AddWithValue("@IDTipAutocar", txtIDTip.Text);
            cmd.Parameters.AddWithValue("@TipAutocar", int.Parse(cmbTip.SelectedValue.ToString()));
            int val = cmd.ExecuteNonQuery();
            MessageBox.Show(val + "Autocarul a fost adaugat cu succes!");
            con.Close();
            this.Dispose();
        }
    }
    catch (Exception er){MessageBox.Show(er.Message);}
}
插入语句:string insert = "INSERT INTO Autocare (IDAutocar, IDTipAutocar, TipAutocar) VALUES (@IDAutocar, @IDTipAutocar, @TipAutocar)";

错误是在这行代码:cmd.Parameters.AddWithValue("@TipAutocar", int.Parse(cmbTip.SelectedValue.ToString()));谁能告诉我我错过了什么?由于

输入字符串格式不正确

如果您的组合框包含int值作为字符串,则使用

int.Parse(cmbTip.Text);

如果需要选定文本的索引,则使用

int.Parse(cmbTip.SelectedIndex);

根据Yeldar的建议,我已经删除了int.Parse,只使用combo.SelectedValue,它工作了!

尝试使用Int。TryParse函数而不是Int。解析并处理该行之前的解析异常。这样的:

        using (SqlConnection con = new SqlConnection(cs))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(insert, con);
            cmd.Parameters.AddWithValue("@IDAutocar", txtID.Text);
            cmd.Parameters.AddWithValue("@IDTipAutocar", txtIDTip.Text);
            int tipAutocar = 0;
            if (int.TryParse(cmbTip.SelectedValue.ToString(), out tipAutocar))
            {
                //if successful
                cmd.Parameters.AddWithValue("@TipAutocar", tipAutocar));
            }
            else
            {
                //if not successful, do sth else
            }
            int val = cmd.ExecuteNonQuery();
            MessageBox.Show(val + "Autocarul a fost adaugat cu succes!");
            con.Close();
            this.Dispose();
        }
  1. 调试适当的断点和步进代码,并在调试菜单中添加感兴趣的变量在"观察"窗口或寻找他们在"局部"窗口,而调试。[for example cmbTip.SelectedValue.ToString()]
  2. 其他人指出cmbTip.SelectedValue.ToString()可能是异常的原因。
  3. 对于cmbTip,即使选择了值,错误仍然存在,或者selectedValue出现为NULL,尝试使用SelectedText