Problem, das mich für die letzten 4 Stunden gefangen hat. Mein Dataset erhält die Änderungen, aber die Datenbank nicht.C# Datenbank wird nicht vom Dataset aktualisiert. SQLCommandBuilder
Stuff, die gerade liegt etwa als "global" var:
DatabaseConnection objConnect;
string conString;
DataSet ds;
int MaxRows;
Meine Form Last initialisiert db Verbindungen:
objConnect = new DatabaseConnection();
conString = Properties.Settings.Default.memoDbConnectionString;
objConnect.connection_string = conString;
ich diesen Knopf haben, dass meine Daten-Set ändert und ruft meine Datenbankaktualisierung
private void button5_Click(object sender, EventArgs e)
{
//
objConnect.Sql = Properties.Settings.Default.userSQL;
ds = objConnect.GetConnection;
MaxRows = ds.Tables[0].Rows.Count;
for (int i = 0; i < MaxRows; i++)
{
DataRow dRow = ds.Tables[0].Rows[i];
if (nick == dRow.ItemArray[0].ToString())
if (textBox4.Text == textBox5.Text)
if (textBox3.Text == dRow.ItemArray[1].ToString())
{
ds.Tables[0].Rows[i][1] = textBox5.Text;
//this is the interesting bit
DataSet changes = ds.GetChanges();
objConnect.UpdateDatabase(changes);
//-----
MessageBox.Show(nick);
MessageBox.Show(dRow[1].ToString());
break;
}
else MessageBox.Show("Old password is wrong.");
else MessageBox.Show("Pass confirmation does not correspond.");
}
}
die Funktion, die ich in der Database Klasse verwenden:
public void UpdateDatabase(System.Data.DataSet ds)
{
System.Data.DataSet changes = ds.GetChanges();
System.Data.SqlClient.SqlCommandBuilder cb = new System.Data.SqlClient.SqlCommandBuilder(da_1);
//stuff thats suppsed to help
da_1.UpdateCommand = cb.GetUpdateCommand();
//----
da_1.Update(ds.Tables[0]);
ds.AcceptChanges();
}
da_1 ist ein SqlDataAdapter, die ich außerhalb der Funktion zu erklären, aber es in einer Funktion nur vor diesem Attribut.
Ich habe gerade festgestellt, dass es liest aus einer Datenbank und schreibt aus irgendeinem Grund in eine andere. Meine Verbindungszeichenfolge ist: Visual Studio 2015 \ Projekte \ memo \ memo \ Ressourcen \ memoDb.mdf –
In Lösung Explorer sagt meine DB ist ignoriert, derjenige, der tatsächlich auf dem Weg ist. –