【发布时间】:2015-07-12 19:49:20
【问题描述】:
我是 C# 编程的新手,我正在尝试一段时间来调试它,但到目前为止我没有找到可以帮助我的答案。 我正在尝试将新记录添加到 MSSQL 数据库中,但每次都会收到以下错误:
{"输入的字符串格式不正确。"}
我的代码如下:
private void btnAdd_Click(object sender, EventArgs e)
{
string cs = "Data Source=CODRINMA\\CODRINMA;Initial Catalog=TrafficManager;Integrated Security=True";
string insert = "INSERT INTO Companii (IDCompanie, Denumire, Adresa, Oras, CUI) VALUES (@IDCompanie, @Denumire, @Adresa, @Oras, @CUI)";
try
{
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand(insert, con);
cmd.Parameters.AddWithValue("@IDCompanie", txtID.Text);
cmd.Parameters.AddWithValue("@Denumire", txtDenumire.Text);
cmd.Parameters.AddWithValue("@Adresa", txtAdresa.Text);
cmd.Parameters.AddWithValue("@Oras", int.Parse(cmbOrase2.SelectedValue.ToString()));
cmd.Parameters.AddWithValue("@CUI", txtCUI.Text);
int val = cmd.ExecuteNonQuery();
MessageBox.Show(val + "Compania a fost adaugata cu succes!");
con.Close();
this.Dispose();
}
}
catch (Exception er) { MessageBox.Show(er.Message); }
}
组合框 Orase2 与 MSSQL 数据库中的一些值绑定。请,需要一些帮助!谢谢。
【问题讨论】:
-
The combobox Orase2 is binded with some values from a MSSQL database- 那你为什么要把它转换成字符串然后解析回int(并在这个过程中失败)? -
@GSerg - 认为我必须将所选值解析为字符串,因为这些值是另一个名为
Orase的表的 FK。我该怎么办? -
@HenkHolterman - 可能是这样,但我已经将
con.Close();用于其他一些表单并且工作顺利,没有引起错误。不过我会试试的。 -
谢谢大家,我已经更改了 combobox.ValueMember 并且它起作用了。
-
@cdrrr 嗨,由于您一个人回答了您的问题,请将其作为答案发布,以便其他可能遇到相同问题的人有解决方案。谢谢
标签: c# sql-server winforms