-1
그래서 DB에 데이터를 추가하는 데 필요한 일부 텍스트 상자와 단추가있는 데이터베이스에 연결된 DataGridView를 갖기 위해 노력하고 있습니다. 테이블을 업데이트 할 수는 있지만 데이터베이스를 제대로 업데이트 할 수는 없습니다.C# 데이터 집합 및 DataGridView 업데이트
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ParametSampleApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'database1DataSet.Table' table. You can move, or remove it, as needed.
this.tableTableAdapter1.Fill(this.database1DataSet.Table);
}
private void btnAdd_Click(object sender, EventArgs e)
{
DataRow newUserRow = database1DataSet.Tables["Table"].NewRow();
newUserRow["FirstName"] = txtFName.Text;
newUserRow["LastName"] = txtLName.Text;
newUserRow["PostCode"] = txtPostcode.Text;
newUserRow["OperatingSystem"] = txtOS.Text;
database1DataSet.Tables["Table"].Rows.Add(newUserRow);
this.tableTableAdapter1.Update(this.database1DataSet.Table);
}
}
}
더 쉽게 이해하기 위해 전체 프로젝트의 ZIP이 필요하면 쉽게 업로드하고 보낼 수 있습니다.
내 DataSet, BindingSource 및 TableTableAdaper가 자동으로 만들어 지도록 DataGridView GUI를 사용하여 연결을 설정한다는 점에 유의할 가치가 있습니다.
"제대로 업데이트 할 수 없습니까?" 예외가 있습니까? 데이터베이스가 비어있는 상태로 유지됩니까? 기대하지 않는 가치가 있습니까? ... –
tableadapter.Update가 호출되면 수정 된 행을 찾고 수정 된 각 행에 대해 어댑터의 UpdateCommand 객체를 호출하여 데이터row에 대한 필드를 전달합니다. SQL에있는 내용을 확인할 수 있습니다 귀하의 UpdateCommand 개체에 대한. –
토마스, 나는 데이터 자체가 데이터베이스로 돌아 가지 않을 것이고, 그것은 테이블에 표시 될 것이지만 실제 데이터베이스에는 나타나지 않는다는 것을 의미한다. Rick, 좋은 점은 알지만, 내가 추가 한 코드는 외부 클래스가 없으며 UpdateCommand 개체를 찾을 수있는 곳이 너무 명확하지 않습니다. 필요한 경우 GitHub에서 전체 프로젝트를 척으로 처리하여 좀 더 철저하게 살펴볼 수 있습니다. –