Hier mein Code, es funktioniert, wenn die Datenbank die Tabelle „UserInformation“Wie eine neue Tabelle in der Datenbank erstellen, wenn die Tabelle nicht existiert (C#)
public bool Save()
{
using (SqlConnection connection = new SqlConnection(ConnectionString)
{
connection.Open();
using (SqlTransaction transaction = connection.BeginTransaction())
{
try
{
using (var adapter = new UserInformationTableAdapter())
{
adapter.Connection = connection;
adapter.Transaction = transaction;
var table = new HelloDataSet.UserInformationDataTable();
HelloDataSet.UserInformationRow row = table.NewUserInformationRow();
row.UserName = userName;
row.Password = password;
row.Brithday = brithday;
table.Rows.Add(row);
adapter.Update(table);
transaction.Commit();
return true;
}
}
catch (Exception e)
{
transaction.Rollback();
return false;
}
finally
{
connection.Close();
}
}
}
jedoch hat, wenn keine Tabelle gibt es In der Datenbank wird die Tabelle "UserInformation" in der Datenbank nicht erstellt. Sie springt in der Zeile "adapter.Update (table)" zur Ausnahme "catch".
Also meine Frage ist, wie kann ich eine neue Tabelle in der Datenbank erstellen, wenn es keine "UserInformation" -Tabelle darin gibt. Wenn die Datenbank die Tabelle "UserInformation" bereits enthält, kann ich außerdem eine neue Spalte "Position" in dieser Tabelle hinzufügen?
Ich bin mir nicht sicher, was Sie fragen. Versuchen Sie, Zeilen in eine Tabelle einzufügen, die möglicherweise nicht existiert? Möchten Sie, dass der Datenbankserver automatisch eine Tabelle mit einer bestimmten Feldstruktur erstellt, wenn die Tabelle nicht vorhanden ist? (Warum sollte die Tabelle nicht da sein?) Ich würde vorschlagen, die Tabelle mit einem 'CREATE TABLE'-Befehl oder mit einem interaktiven Tool wie SQL Server Management Studio zu erstellen. Außerdem erwähnen Sie nicht, mit welcher Art von Datenbank Sie arbeiten. Eine entsprechende Beantwortung dieser Frage wird die Relevanz der Antworten verbessern. –
Ich möchte Datenbankserver automatisch die Tabelle erstellen. Der Grund ist, ich werde dem Benutzer erlauben, die Datenbank zu wählen. Wenn der Benutzer also zu einer neuen Datenbank wechselt, sollte meine Anwendung in der Lage sein, diese Tabelle in der neuen Datenbank zu erstellen. –
Sie müssen ein Skript oder eine Reihe von SQL-Anweisungen erstellen, die Ihr Programm ausführt. Gespeicherte Prozeduren oder Trigger sind nicht verfügbar, da die Datenbank, wenn sie neu ist, keine Tabellen oder Code zum Erstellen der Tabellen enthält. Ich würde nach der Existenz einer Ihrer Tabellen suchen und dann den Benutzer bitten, Tabellen für (Anwendungsname) zu initialisieren? Wenn der Benutzer ja sagt, führen Sie das Skript oder den Satz von CREATE TABLE-SQL-Anweisungen aus. –