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