Laden...

Forenbeiträge von mischa Ingesamt 81 Beiträge

13.07.2006 - 15:07 Uhr

wenn du keine .msm files einbinden musst: mir gefällt InnoSetup

10.07.2006 - 14:30 Uhr

ich hoffe, ich fange nicht an zu nerven. nur, mit diesen infos kommt vielleicht jemandem eine idee. hab auf businessobjects nachgeschaut, dort folgende aussage gefunden:

It is not possible to report of a secured Access
database using a native connection. See knowledge
base article C2010460 for more information.

hab ich also den besagten artikel angeschaut, dort das gefunden:

As a workaround, convert the native connection to an ODBC or OLE DB connection which supports Access session security

? heisst das, ich soll crystal direkt eine OleDbConnection mitgeben? das wäre ja eigentlich die einfachste Lösung, nur komm ich nicht drauf, wie das gehen soll X(

Die einzige Möglichkeit, die ich noch sehe, ist, den Passwortschutz meiner DB zu entfernen. Aber dann stehen meine ganzen Daten völlig ungeschützt rum, nur wegen CR...

Danke, Gruss
Mischa

10.07.2006 - 14:07 Uhr

Neuster Stand:

Es ist mir gelungen, die Attribute Datenbank, User und Passwort zu setzen. Für meine Access Datenbank (.mdb) habe ich eine System Database (.mdw) erstellt. Wenn ich die oben genannten Attribute setze und den Report zu erstellen versuche, kommt die Meldung, die System Database wurde nicht gefunden.
Kann ich den Ort diese System Database auch irgendwie angeben? Oder gibt es in Access die Möglichkeit, diese .mdw Datei direkt einzubinden, so dass Access automatisch diese Datei verwendet?

Ich komm wirklich nicht mehr weiter, bin für jeden noch so kleinen Tipp dankbar

Gruss
Mischa

10.07.2006 - 12:36 Uhr

mittlerweile bin ich soweit, dass ich für alle tabellen (Mainreport und Subreports) die richtigen Logon Informationen gesetzt habe. Beim exportieren des Reports bekomme ich aber immer noch die Exception, dass die Datenbank (diejenige, die vor dem Verändern der Informationen eingestellt war) nicht gefunden wurde. Natürlich, die gibts ja dort nicht.

Nun frage ich mich, wo ich die neuen Verbindungsinformationen sonst noch setzen muss (kann?). Hat da jemand Erfahrung damit?

Ich hab auch schon versucht, zusätzlich zu den einzelnen Tabellen noch die setDatabaseLogon Methode des Reports selbst aufzurufen, hat auch nichts gebracht.

Wenn irgendjemand schon mal ein ähnliches Problem hatte oder auch nur ansatzweise weiss, in welche Richtung ich suchen muss, wäre ich sehr dankbar!

Gruss
Mischa

10.07.2006 - 11:54 Uhr

foreach geht nicht (weil ich nicht rausfinde von welchem typ ein report eigentlich ist...), aber mit for auf report.Database.Tables.Count geht es.

mal schaun obs auch wirklich funktioniert, man kann leider nicht alle Angaben zur Verbindung machen (nur Datenbankname, User, Pw).

Danke, Gruss
Mischa

10.07.2006 - 11:01 Uhr

ist es möglich dass ich tatsächlich für jeden subreport und für JEDE EINZELNE TABELLE in der Datenbank, die angesprochen wird, die Verbindungsinformationen manuell setzen muss?

Denn wenn ich report.setDatabaseLogon aufrufe, hat das keinerlei Auswirkungen auf die Verbindungsinfo der Tabellen --> Exception DB nicht gefunden 🙄

Hat da jemand Erfahrung?

Danke, Gruss

10.07.2006 - 09:20 Uhr

hallo LordZero83

Wahrscheinlich ist der Weg über das DataSet wirklich die geschicktere Variante, dann kann man das DS auch ausserhalb Crystal erstellen und dann übergeben...

Leider ist die Zeit sehr knapp, ich muss schnellstens fertig werden, deshalb liegt eine solche Umstellung nicht mehr drin. Aber bei meinem nächsten Projekt dann!

Danke für den Tipp, Gruss
Mischa

10.07.2006 - 09:08 Uhr

hallo

danke erstmals. Das Problem ist, dass ich keine Möglichkeit finde, dem Report einen ConnectionString zu übergeben. Es gibt die Methode setDatabaseLogon(), dort kann man aber nur alle Attribute (Datenbank, Benutzer, Passwort) einzeln angeben.
Aber das mit dem Pfad werde ich machen.

Dann muss ich mir diese Angaben wohl aus meinem ConnectionString zusammenschnipseln... 🙁

Danke, Gruss
Mischa

10.07.2006 - 08:36 Uhr

Hallo

In meiner Applikation kann der Benutzer Reports erstellen lassen (Crystal Reports).
Die Datenbankverbindung habe ich direkt im Report angegeben. Gibt es eine Möglichkeit, diese Verbindung dynamisch zu gestalten?

Wenn das Programm ausgeliefert wird, ändert sich ja die URL der Datenbank (Access).
Ich habe gesehen, dass es die setDataSource() Methode gibt. Die funktioniert aber scheinbar nur mit DataSets.

Jemand eine Idee?

Danke, Gruss
Mischa

07.07.2006 - 15:25 Uhr

oh mann, ich glaubs nicht. ja danke dir, das wars! 🤔

zwar läuft das setup noch immer nicht richtig, aber das ist eine andere geschichte...

es ist wohl dringen zeit für wochenende...

Danke, Gruss
Mischa

07.07.2006 - 14:42 Uhr

Hallo Zusammen

Ich versuche gerade, mir ein Setup für mein Programm zu erstellen. Eigentlich wollte ich InnoSetup verwenden. Doch leider unterstützt dieses keine .msm files, also schlag ich mich jetzt mit dem Setup-Erstellungs-Ding von VS 2005 rum.

In meiner Applikation werden auch Crystal Reports verwendet, die nötigen .msm files habe ich alle brav in mein Setup Projekt hinzugefügt.

Nach dem Build habe ich das Setup File auf einem anderen Rechner auszuführen versucht. Folgende Meldung erscheint:

Unable to locate application file "Setup1.msi"

Google findet zwar ein paar Foreneinträge, nirgendwo wird aber beschrieben woran das liegt beschreibe denn wie dieser Fehler behoben werden kann.

Ich muss dieses Setup wirklich möglichst schnell haben, bin für jeden Tip dankbar, auch, ich welche Richtung ich vielleicht suchen könnte etc.

E: was mir gerade noch aufgefallen ist: das setup file ist nur 400 kb gross. das kann nicht wirklich sein...

Danke, Gruss
Mischa

06.07.2006 - 15:55 Uhr

das Problem ist gelöst. Es lag nicht an der Syntax, wie ich vermutete, sondern an der Logik. Ich habe versucht mit NULL Werten auf einen Fremdschlüssel zu Joinen, was verständlicherweise nicht ging... 🤔

06.07.2006 - 09:15 Uhr

Hallo Zusammen

Ich weiss, dass Crystal Fragen hier oft unbeantwortet bleiben, trotzdem versuche ich es hier, da es eigentlich um das VS 2005 geht.

Ich erstelle mir aus dem VS2005 einen Report, Datenquelle ist eine Access Datenbank. Im Database-Expert kann man ja für jeden Link zwischen zwei Tabellen die Join-Art auswählen. Normalerweise ist das bei mir INNER JOIN, in einem bestimmten Fall brauche ich aber RIGHT. Wenn ich das einstelle und den Report ausführe, bekomme ich folgende Fehlermeldung:

Verknüpfungsausdruck nicht unterstützt

Ich habe herausgefunden, dass in Access die Syntax so lautet:

RIGHT(...)

VS erstellt mir aber:

RIGHT OUTER(...)

, was oben gezeigten Fehler auslöst.

Kennt da vielleicht jemand eine Lösung? Gibt es dafür eine Einstellung?

Danke, Gruss
Mischa

04.07.2006 - 16:43 Uhr

hmm, langsame beginne ich zu verstehen. vielen dank für diese lektion in sauberem design! werde ich sicher umsetzen (versuchen) in einem nächsten projekt.

Danke, Gruss
Mischa

04.07.2006 - 16:05 Uhr

danke erstmals. werde mich erstmals über Factory-Methoden schlaumachen, bevor ich hier weiterfrage.

wenn ich dich aber richtig verstehe, habe ich am schluss noch ein command-objekt, das ich immer wieder verwende. nur, wie macht man das dann z.B. bei einem DataAdapter? der braucht ja u.U. vier commands (select,insert,update,delete). und mein command kann ja nicht gleichzeitig mehrere befehle enthalten.

04.07.2006 - 15:12 Uhr

hallo svenson

ich hatte schon ähnliche probleme, und bin bei diesem thread sofort neugierig geworden

was meinst du mit?

Die Alternative ist natürlich, alles als Parameter durchzureichen (bzw. einem Property zuzuweisen) und irgendwo innerhalb von Objekten die Referenz abzulegen.

heisst das, dass die klasse, die "zuoberst" im klassenmodell steht, die connection erstellt und dann nach "unten" durchgibt? dass also jede klasse, die ein objekt einer anderen klasse erstellt, dieser neuen klasse die connection übergibt?

es interessiert mich allgemein, ich habe nicht jetzt dieses problem.

Danke, Gruss
Mischa

29.06.2006 - 17:08 Uhr

tschuldigung, ich hab listview gelesen. dort müsste man glaub ich dann .text nehmen...

29.06.2006 - 16:34 Uhr

müsstest du nicht Items_.Text verwenden?

28.06.2006 - 15:43 Uhr

hallo Zocker

dafür gibts JOIN


SELECT t.TeilnehmerNr, t.Anrede, t.Name, t.Vorname, t.PersonalNr, e.Bezeichnung Endgerät, a1.Bezeichnung Abteilung_1, a2.Bezeichnung Abteilung_2, t.E_Mail
FROM Teilnehmer t inner join Endgeraet e on t.egId = e.egId
inner join Abteilung1 a1 on t.abt1Id = a1.abt1Id
inner join Abteilung2 a2 on t.abt2Id = a2.abt2Id

ich hab das nun mal "von hand" geschrieben, gut möglich, dass noch schreibfehler drin sind.
ev. musst du um die einzelnen joins noch klammern machen, bin ich mir nicht sicher

Gruss
Mischa

26.06.2006 - 12:44 Uhr
DialogResult result = MessageBox.show(...);

irgendwie so sollte es gehen...

Gruss
Mischa

22.06.2006 - 16:53 Uhr

hallo Noodles

Danke dir, hat geklappt! 👍

Gruss
Mischa

22.06.2006 - 15:26 Uhr

Hallo

Ist es vielleicht irgendwie möglich, dass Texte aus der Datenbank in enem DataGridView formatiert dargestellt werden? Im Moment zeit es mir für einen Zeilenumbruch z.B. ein Sonderzeichen an.

Das einzige Property, das in die Richtung geht und ich gefunden habe, ist "WordWrap", doch das bezieht sich nur darauf, ob Texte, die zu lang für die Spalten sind, in mehere Zeilen unterteilt werden.

Sieht halt schon schöner aus 😁

Danke, Gruss
Mischa

22.06.2006 - 09:37 Uhr

nochmal ich...

des Rätsel Lösung war, dass das Icon 16 x 16 gross sein musste, obwohl im properties window des forms 32 x 32 angegeben war.

22.06.2006 - 08:56 Uhr

Ich habs nun doch mal mit der Angabe eines festen Pfads nach dschmoegners beispiel gemacht. hat auch nichts gebracht...

muss ich für das form, das das icon anzeigen soll, noch andere porperties ausser ShowIcon und Icon beachten?

Danke, Gruss
Mischa

21.06.2006 - 16:54 Uhr

hallo Zusammen

ich hab das gleiche Problem wie damals dschmoegner: mit dem Designer hab ich ein Icon einem Form zugewiesen. Im Properties-Window wird mir das Icon auch korrekt angezeigt, wenn ich das Programm aber nacher ausführe, erscheint anstatt des Icons nur eine kleine graue Fläche (ich nehme an, das Standardicon).

Einen festen Pfad eingeben möchte ich eigentlich nicht. Weiss jemand wie das geht?

Im Designercode steht bei mir ebenfalls:

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

Danke schon mal, Gruss
Mischa

08.06.2006 - 14:51 Uhr

Hallo zusammen

Wenn ich im VS eine neue Connection erstelle, kann ich auswählen, ob sensitive Daten (z.B. Passwort) im ConnectionString gespeichert werden sollen. Wenn ich den ConnectionString im app.config speichere, kann ja jeder darauf zugreifen...
Das erscheint mir etwas unsicher.

Wie macht ihr das, dass das Datenbankpasswort sicher gespeichert ist? Im Quellcode?

Dank im Voraus für die Anregungen, Gruss
Mischa

10.05.2006 - 13:38 Uhr

danke dir vielmals! hast mir sehr geholfen, gruss

Mischa

10.05.2006 - 13:31 Uhr

hallo norman_timo

erstmal danke für die schnelle antwort.
so in der art hätte ich mir das auch gedacht, aber werden dann die Daten im DataSet nicht zweimal lokal gespeichert?

Datenklasse:


dataSet = new DataSet(); //1. mal gespeichert
//dataSet füllen

public DataSet getDataSet()
{
return this.dataSet;
}

Formklasse


Datenklasse dk = new Datenklasse();
DataSet dataSet = Datenklasse.getDataSet(); //2. mal gespeichert
}

10.05.2006 - 13:08 Uhr

Hallo

Ich habe eine Daten. sowie eine Formklasse. Die Datenklasse besitzt ein DataSet, das im Form in einem DataGridVew dargestellt werden soll.

Wie löst sich das am schönsten? Das DataSet public machen und als DataSource für das DGV verwenden?

Das gefüllte DataSet an die Form übergeben und beim Speichern wieder vom Form an die Datenklasse zurückgeben?

Wie macht Ihr das?

Danke, Gruss
Mischa

03.05.2006 - 08:57 Uhr

Hallo und guten Morgen

Ich hab ein ziemlich lästiges Problem: Ich habe im in VS2005 integrierten Crystal Reports ein Chart (Balkendiagramm erstellt). Es funktioniert auch wunderbar, nur zeigt es mir in der Legende blöde Namen an z.B: "Sum of @F_CountPeriode1".

Wie kann ich das ändern, dass er statt dessen nun nur "Periode 1" anzeigt? Im Crystal Handbuch ist von "Beschriftungsaliasing" die Rede, das man in der Vorschau für den Bericht vornehmen könne.
Dieses Handbuch bezieht sich aber auf die Originalversion, und im VS2005 kann man in der Vorschau keine Felder bearbeiten.

Hat vielleich jemand eine Idee, wie ich die Legendenbeschriftungen ändern kann?

Wäre Euch sehr dankbar, Gruss
Mischa

02.05.2006 - 17:55 Uhr

Insert Into VHBackUp(Select * from VehicleHistory Where...)

müsste da nicht noch ein values sein?

so ala:

insert into table values(select * from table2)

vielleicht gibt es auch ein Durcheinander durch das '*'. Versuch doch mal die Spaltennamen anzugeben, dann ist klar, was wohin kommt.

Ich hoffe es hilft...

Gruss
Mischa

26.04.2006 - 11:23 Uhr

Hallo Zusammen

Ich baue mir die Update/Insert/Delete Statements für einen DataAdapter selbst zusammen. Diese Statements benötigen die gleichen Parameter.
Deshalb habe ich einen OleDbParameter erstellt, und füge diesen der Parameterliste aller drei Statements hinzu, was zur folgenden Exception führt:

The OleDbParameter is already contained by another OleDbParameterCollection.

Kann ich nicht einen Parameter in verschiedenen Statements verwenden? Ich schreibe ja sonst 3 mal das gleiche.

Hier noch etwas Code:


OleDbParamter myParam = new OleDbParameter("myParam",OleDbType.Integer);
myParam.SourceColumn = "myColumn";


myAdapter.UpdateCommand = new OleDbCommand("statement",connection);
myAdapter.UpdateCommand.Parameters.Add(myParam); //! Hier tritt die Exeption auf

myAdapter.InsertCommand = new OleDbCommand("statemetn",connection);
myAdapter.InsetCommand.Parameters.Add(myParam);

//dasselbe auch für das DeleteCommand
//Tipfehler nicht beachten, ist nicht Original Code

Danke für Tips im Voraus, Gruss
Mischa

18.04.2006 - 17:40 Uhr

könnte es was mit den Project Dependencies zu tun haben? Die Lösung besteht aus 2 Projekten, das eine vom anderen abhängig....

18.04.2006 - 15:53 Uhr

Hatte auch das Problem mit Parameter an Crystal Reports übergeben und dabei diesen Thread gefunden. Mit der obigen Lösung hab ichs nicht hingekriegt, dafür viel einfacher:

report.SetParameterValue("{?myParam}", "myValue") 

Nur falls sich wieder mal jemand hierher verirren sollte...

Gruss
Mischa

18.04.2006 - 14:37 Uhr

Hallo

Wenn ich zu einem Projekt die Settings öffne, lässt sich die Tabelle nicht bearbeiten. Ich kann weder bestehende Settings, die ich früher erstellt habe, bearbeiten/löschen, noch neue hinzufügen.
Gibt es irgend eine Einstellung, die das bearbeiten von Settings zu einem Projekt verbietet?
Wenn ich die Settings von Hand im XML einfüge, werden sie nacher in der Tabelle übernommen. Dort habe ich aber das Problem, dass ich das mit dem Scope (Application/User) nicht hinkriege...

An der SourceControl kanns nicht liegen, hab da schon alles probiert.

Danke im Voraus, Gruss
Mischa

22.03.2006 - 11:05 Uhr

wens interessiert:

die Lösung war, den Teil der Validierung, die den Sprung in eine andere Zelle zur Folge hätte, im RowValidating event zu machen. Er springt dann zwar nicht in die gewünschte Zelle, aber der User kann immerhin die Row nicht verlassen und weiss dank einer Fehlermeldung auch, wieso.

Danke für die Hilfe, Gruss
Mischa

20.03.2006 - 16:53 Uhr

ok...ich befürchte ich habe mich nicht ganz klar ausgedrückt: es geht um die Validation in einem DataGridView, also springt der Fokus nach drücken von TAB in die Zelle rechts von der aktuellen.

was ich will ist, dass, wenn die Validierung einer Zelle in einer bestimmten Spalte erfoglreich war, der Fokus in die Zelle in der gleichen Row, aber einer von mir angegebenen Spalte springt. Also nicht in die nächste Spalte (diese ist sowieso ReadOnly und nur Anzeige für den User). wie geht das?

20.03.2006 - 16:24 Uhr

ja, ich setze den focus von Hand um. wenn dies ungeschickt ist:

wie kann ich dann, nachdem eine Eingabe in einer Zelle erfolgreich validiert wurde, in eine andere Zelle springen?

Danke, Gruss
Mischa

20.03.2006 - 13:00 Uhr

Es gibt ja noch den Event CellValidated. Der wird geworfen, sobald der Eventhandler für CellValidating beendet ist, sehe ich das richtig?

Wenn ich versuche, im Eventhandler für CellValidated in Zelle 2 zu springen, wird aber wiederum der Event CellValidating geworfen.

Hat niemand eine Idee?

Danke, Gruss
Mischa

20.03.2006 - 11:47 Uhr

Hallo

Ich hab ein ziemlich blödes Problem:

Ich habe ein DataGridView, in dem der Benutzer Zellen editieren kann.
Ich rufe den CellValidating Event ab, um die Benutzereingabe zu validieren.

Wenn nun ein bestimmtes Feld 1 editiert wurde, soll der Fokus in ein anderes Feld 2 springen. Dies aber ruft wiederum den CellValidating Event für die erste Zelle auf, sprich ich befinde mich in einer Endlosschleife:

CellValidating Feld 1-->spring in Feld 2 -->CellValidating Feld 1-->spring in Feld 2 -->...

Weiss jemand, wie ich das umgehen könnte?

Danke, Gruss
Mischa

16.03.2006 - 10:15 Uhr

danke

ich habs im debugger versucht, er gibt mir immer 0 oder 1. damit kann ich leider nicht viel anfangen, weil ich ja an die tatsächlich hinzugefügte row kommen muss.

ich machs bisher so:

Eventhandler:


        private void DataGridView_RowsAdded(object sender, DataGridViewRowsAddedEventArgs args)
        {
            if (!checkReadOnly(DataGridView.Rows[args.RowIndex]))
                DataGridView.Rows[args.RowIndex].Cells["Column"].ReadOnly = true;
        }

checkReadOnly:


private bool checkReadOnly(int rowIndex)
{
       //prüfen, ob Zelle DataGridView.Rows[rowIndex] ReadOnly sein muss
      //muss readOnly sein:
         return false;
      //muss nicht readOnly sein:
         return true;
}

so teste ich ein paar mal row 0 und 1, die anderen werden nicht angefasst. wie könnte ich an die richtige row kommen? vielleicht gibt es ja einen viel besseren weg, sowas zu machen...

Danke, Gruss
Mischa

16.03.2006 - 09:40 Uhr

Hallo

Kleine Frage zum RowsAdded Event eines DataGridVews: Kommt der nach jeder hinzugefügten Row oder erst wenn alle Rows hinzugefügt sind?

Hintergrund: Ich habe in meinem DGV eine Spalte, die abhängig vom Inhalt einer anderen Spalte ReadOnly ist oder eben nicht. ReadOnly kann also von Row zu Row varieren.
Nun habe ich den RowsAdded Event abboniert und prüfe dann die entsprechende Row.
Aber irgendwas scheint da nicht zu funktionieren, der RowIndex der hinzugefügten Row ist immer entweder 0 oder 1, egal wieviele Rows tatsächlich hinzugefügt werden.

Im Grid sind aber nacher alle Daten, nur stimmt halt dort der ReadOnly nicht.

Jemand eine Idee?

Danke, Gruss
Mischa

Edit: Sorry, vielleicht gehörte das eher in Windows Forms...

15.03.2006 - 14:15 Uhr

ich habe die gleiche frage (tatsächliches sql statement ausgeben), allerdings für Access.

gibt es da eine Möglichkeit, an das query zu kommen, das tatsächlich an die db geschickt wird?

bekomme immer OleDb exception, ich habe einen Fehler in der Syntax. Allerdings werden in der Ex message die Fragezeichen für die Parameter angezeigt...seltsam

Danke, Gruss
Mischa

15.03.2006 - 11:12 Uhr

danke tb

ich habe die Daten in einer DataTable.
Was ist denn der Vorteil, wenn ich eine BindingSource dazwischenschiebe? Das Grid greift ja schlussendlich doch auf die DataTable zu, kommt also aufs gleiche raus. Oder habe ich da was falsch verstanden?

Zu meinem Problem mit dem RowEnter Event: Ich habs anderweitig gelöst, der Event wird gar nicht mehr benötigt.

Gruss
Mischa

14.03.2006 - 15:41 Uhr

Hallo

Ich habe ein typisches Header/Detail form (oben die Eingabefelder, unten eine Tabelle mit den Einträgen).
Nun will ich, dass, wenn der Benutzer eine Row anwählt, die Daten aus dieser Row in die Eingabefelder im oberen Bildschirmteil eingefüllt werden.
Dazu nutze ich den RowEnter Event des DataGridViews. Im eventhandler werden die Daten aus der Row in die Felder abgefüllt, was wunderbar funktioniert.

Jetzt das Problem: Wenn ich mehere Felder auswähle (linke Maustaste gedrückt halten und über das DataGridView fahren), werden die Felder nur sehr langsam markiert.
Dies hat bestimmt damit zu tun, dass jedesmal der eventhandler für RowEnter ausgefüjrt wird.

Gibt es irgendeine Möglichkeit, dies zu verhindern? Vielleicht gibt es besser geeignete Events?

Bin um jeden Tip dankbar. Mir fällt auch keine (sinnvolle) Möglichkeit ein, wie ich das Problem über das Formdesign ändern könnte (Doppelklicken auf eine Row etc.).

Danke,Gruss
Mischa

13.03.2006 - 12:40 Uhr

Hallo

Wie kann ich das machen, dass eine Spalte in einem DataGridView abhängig von einer anderen ist?

Ich habe z.B. zwei Spalten, Code und Bezeichnung. Wenn der Wert in Code ändert, soll in der Spalte Bezeichnung automatisch die dazugehörige Bezeichnung stehen.

Beim Fill wird das gemacht. Aber ich will doch nicht nach jeder Änderung in der Tabelle die ganze DataTable neu füllen.

Jemand einen Tip?

Danke, Gruss
Mischa

13.03.2006 - 10:09 Uhr

Schau dir halt im Debugger mal den Inhalt des DataReaders an.

hab ich versucht. das problem ist, dass er mir schon da diese Exception warf. Oder gibt es eine andere Möglichkeit im Debugger auf den DataReader zuzugreifen als

DataReader["Attribut"]

?

Sowas wie die hübsche Lupe für DataSets...

13.03.2006 - 08:36 Uhr

danke dir, mit ExecuteScalar scheints zu funktionieren.

falls jemand noch eine Erklärung für mein oben beschiebenes Problem hat, es würde mich doch sehr interessieren. Schliesst sich der DataReader automatisch nach Ausführung des Commands, noch bevor ich Daten daraus auslesen kann?

Gruss
Mischa

10.03.2006 - 16:10 Uhr

Falls dies noch jemand auf eine Idee bringt:

InvalidOperationException is used in cases when the failure to invoke a method is caused by reasons other than invalid arguments. For example, InvalidOperationException is thrown by:

*  

  MoveNext if objects of a collection are modified after the enumerator is created.  
*  

  GetString if the resource set is closed before the method call is made.  

laut MSDN.

Ich denke, in meinem Fall würde wohl das zweite zutreffen, obwohl ich ja nicht GetString aufrufe. Aber mein DataReader wird ja nicht geschlossen, will ja noch Daten auslesen.
Keine Ahnung...

Danke schon mal im Voraus

10.03.2006 - 15:17 Uhr

ich bin auch neu in C# und ADO.NET, hab mich also auch viel mit ähnlichen Problemen rumgeschlagen.
Das Problem könnte bei den generierten Update Statements liegen: Diese funktionieren nur, wenn in Select Statement Daten aus nur einer Tabelle gelesen werden und der PK auch selected wird.

Hoffe es hilft, Gruss
Mischa