从textBox中检索字符串并将其作为int传递给存储过程

时间:2016-10-07 13:22:29

标签: c# stored-procedures

我想使用下一段代码在我的数据集中添加一条新记录。存储过程从名为' AddStudentDialog'的另一个表单中获取数据。有几个文本框

addStd = new AddStudentDialog();
addStd.Show();

studentTableAdapter.Insert(int.Parse(addStd.tb1.Text), addStd.tb2.Text, addStd.tb3.Text, addStd.tb4.Text, addStd.tb5.Text);
studentTableAdapter.Fill(studentDataSet.Student);

这是AddStudentDialog'中的一段代码。表示textBox1将字符串发送到我上面的存储过程的表单,我试图转换为整数。

public TextBox tb1
{
    get
    {
        return textBox1;
    }
}

在将字符串转换为整数时由于错误而运行应用程序时遇到问题。 Dows任何人都知道如何解决它?

这就是我在Visual Basic中编写这个存储过程的方法,它完美无缺。

StudentTableAdapter.Insert(CType(AddStudentDialog.TextBox1.Text, Integer), AddStudentDialog.TextBox2.Text, AddStudentDialog.TextBox3.Text, AddStudentDialog.TextBox4.Text, AddStudentDialog.TextBox5.Text)
StudentTableAdapter.Fill(StudentDataSet.Student)

1 个答案:

答案 0 :(得分:0)

最后,我使用TryParse方法解决了这个问题,这就是代码的样子。

' AddStudentDialog'它将值发送到存储过程(只有textBox1发送整数,其他文本框发送字符串):

    public int id;
    public int intID;
    public string stringID;
    bool res;

    public AddStudentDialog()
    {
        InitializeComponent();
    }

    public void IntToString()
    {
        stringID = textBox1.Text;
        res = int.TryParse(stringID, out id);

        if (res == true)
            intID = id;
    }

    public int tbox1
    {
        get
        {
            return intID;
        }
    }

存储过程:

AddStudentDialog addStd = new AddStudentDialog();
        addStd.ShowDialog();

        addStd.IntToString();

        studentTableAdapter.Insert(addStd.tbox1, addStd.tBox2.Text, addStd.tbox3.Text, addStd.tbox4.Text, addStd.tbox5.Text);
        studentTableAdapter.Fill(studentDataSet.Student);