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

本文关键字:整型 存储过程 textBox 检索 字符 串并 字符串 | 更新日期: 2023-09-27 18:12:06

我想使用下一段代码向数据集中添加一条新记录。存储过程从另一个名为'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;
    }
}

当我运行一个应用程序时,由于在将字符串转换为整数时出现错误而遇到问题。有人知道怎么解决吗?

这就是我在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)

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

最后我使用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);