2017-03-02 2 views
-2

Ich erhalte einen Fehler, der eine Ausnahme ausgelöst, die genau wie der Titel aufgerufen wird. Ich bin nicht sicher, was das ProblemAusnahmefehler beim Versuch, Daten in die Datenbank einzufügen

Anschluss:

public void connectToDatabase() 
    { 
     connStrBuilder = new SqlConnectionStringBuilder(); 
     connStrBuilder.DataSource = @"DESK-KEGRC\SQLSERVER"; 
     connStrBuilder.InitialCatalog = "RentalDatabase"; 
     connStrBuilder.IntegratedSecurity = true; 

     connection = new SqlConnection(connStrBuilder.ToString()); 

    } 

    public void Insert(Car car) 
    { 
     try 
     { 
      string commandText = "INSERT INTO dbo.Cars(Brand, Name, Year) VALUES (@Brand, @Name, @Year)"; 
      SqlCommand command = new SqlCommand(commandText, connection); 
      command.Parameters.AddWithValue("@Brand", car.newBrand); 
      command.Parameters.AddWithValue("@Name", car.newName); 
      command.Parameters.AddWithValue("@Year", car.newRegisteredYear); 
      connection.Open(); 
      command.ExecuteNonQuery(); 
     } 
     catch 
     { 
      throw; 
     } 
    } 

Das ist das Ereignis, um die Daten in die Datenbank

private void InsertData(object sender, EventArgs e) 
    { 
     car = new Car(); 
     car.newBrand = txtBrand.Text; 
     car.newName = txtName.Text; 
     car.newRegisteredYear = txtYear.Text; 
     dataBaseConnection.Insert(car); 
    } 

Fehler einzufügen:

System.NullReferenceException: Object reference not set to an instance of an object. at ConnectToDatabase.DatabaseConnection.Insert(Car car) in C:\Users\Kopalnia\Desktop\C#\Program\VehicleRental\VehicleRental\Vehicle Rental\ConnectToDatabase\DatabaseConnection.cs:line 46 at Vehicl_Rental.AddACar.InsertData(Object sender, EventArgs e) in C:\Users\Kopalnia\Desktop\C#\Program\VehicleRental\VehicleRental\Vehicle Rental\Vehicl Rental\AddACar.cs:line 31

+2

Wenn Sie es verfolgen - genau welche Zeile ist fehlerhaft, was ist der Wert aller Elemente an diesem Punkt? – BugFinder

Antwort

3

Sie müssen erster Anruf connectToDatabase():

private void InsertData(object sender, EventArgs e) 
{ 
     connectToDatabase() 
     car = new Car(); 
     car.newBrand = txtBrand.Text; 
     car.newName = txtName.Text; 
     car.newRegisteredYear = txtYear.Text; 
     dataBaseConnection.Insert(car); 
} 
Verwandte Themen