在Visual C#中将文本框中的值插入数据库

时间:2011-08-04 11:18:49

标签: c# sql visual-studio-2008

private void button1_Click(object sender, EventArgs e)
    {
        loginPageBindingSource.EndEdit();

        int pcode = 0;
        pcode = int.Parse(pincode.Text);
        personalbalancesheet.BalanceSheetDataSet1TableAdapters.LoginPageTableAdapter myadapter = new personalbalancesheet.BalanceSheetDataSet1TableAdapters.LoginPageTableAdapter();
        try
        {
            myadapter.Insert(name.Text, loginname.Text, password.Text, add1.Text, add2.Text, phoneno.Text, city.Text, statebox.Text, pcode);
            MessageBox.Show("Data Inserted");
        }
        catch (Exception ex)
        {
            MessageBox.Show("inserion failed");
        }
    }

修改:添加评论中的更多详细信息

上面的代码不起作用,因为我试图将值从文本框保存到数据库...没有编译或运行时错误,但数据库没有更新。显示的输出是“数据已插入”。

代码只是这个。 Insert()是一种库方法。你能为我提供数据库中数据插入的替代代码吗?

1 个答案:

答案 0 :(得分:0)

一种可能性是您使用的数据映射层尚未将事务提交到数据库。因此,虽然您的插入方法似乎成功,但实际数据库中没有任何改变。

修改

假设您使用TableAdapter作为变量名建议,那么您需要调用TableAdapter.Update()来实际将数据持久保存到数据库中。这是来自MSDN的代码示例:

try
{
    this.Validate();
    this.customersBindingSource.EndEdit();
    this.customersTableAdapter.Update(this.northwindDataSet.Customers);
    MessageBox.Show("Update successful");
}
catch (System.Exception ex)
{
    MessageBox.Show("Update failed");
}

MSDN - How to: Update Data Using a TableAdapter