Could someone please point me to the right direction. I was able to use a root Business Object to save data sucessfully but ain't getting it to update it's data in the database. I get following exception
TargetInvocationException
e.InnerException.Message
Incorrect syntax near 'updateKunde'.
e.InnerException.StackTrace:
bei System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
bei System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
bei System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
bei PassureBLL.Kunde.DoUpdate(SqlCommand cm) in C:\Eigene Dateien\Visual Studio 2005\Projects\PassureSQL\PassureBLL\Kunde.cs:Zeile 789.
bei PassureBLL.Kunde.DataPortal_Update() in C:\Eigene Dateien\Visual Studio 2005\Projects\PassureSQL\PassureBLL\Kunde.cs:Zeile 804.
////////////////////////////////////////////////////////////
ALTER PROCEDURE
dbo.updateKunde(
@Nachname
nvarchar,@Vorname
nvarchar,@Geburtsdatum
varchar,@EmailAdresse
nvarchar,@id
int)
AS
UPDATE Kunde SET Nachname = @Nachname, Vorname = @Vorname, Geburtsdatum = @Geburtsdatum, EmailAdresse = @EmailAdresse WHERE (KundeID = @id) RETURN[
Transactional(Csla.TransactionalTypes.TransactionScope)] protected override void DataPortal_Update(){
if (base.IsDirty){
using (SqlConnection cn = new SqlConnection(Database.PassureSQLConnection)){
cn.Open();
using (SqlCommand cm = cn.CreateCommand()){
cm.CommandText =
"updateKunde";DoUpdate(cm);
}
}
}
// update child objects_kundeAdresse.Update(
this._kundeAdresse);_kundeArbeistvorbereitungsTermin.Update(
this._kundeArbeistvorbereitungsTermin);_kundeKundenTermin.Update(
this._kundeKundenTermin);_kundeVerwaltungTermin.Update(
this._kundeVerwaltungTermin);}
private void DoUpdate(SqlCommand cm)
{
//cm.Parameters.AddWithValue("@Beruf", _Beruf);cm.Parameters.AddWithValue(
"@EmailAdresse", _EmailAdressePrivat);cm.Parameters.AddWithValue(
"@Geburtsdatum", _Geburtsdatum.Text);cm.Parameters.AddWithValue(
"@Vorname", _Vorname);cm.Parameters.AddWithValue(
"@Nachname", _Name);cm.Parameters.AddWithValue(
"@id", _KundeID);cm.ExecuteNonQuery();
}
Thanks a lot for having made my day shine again. I looked several times overe the code and every time I missed this point. Thanks!!!!
Copyright (c) Marimer LLC