Hi,
meinte natürlich der geschätzte Ausführungsplan ist der gleiche bei beiden Varianten.
Statement poste ich morgen.
Statement muss ich nochmal raussuchen wenn ich auf Arbeit bin.
Der Ausführungsplan war bei beiden Statements identisch, sowohl der Plan an sich als auch die Kosten/Kardinalitätsschätzungen. Das ist das was mich besonders verwirrt.
Ein case when statt if brachte genau das gleiche ergebniss.
verwendetes Datenbanksystem: SQL Server 2008 SP1
Hi,
ich habe ein Sql Statement folgender Form, wobei PK der Primary Key und FK1/2 2 Spalten der Tabelle sind auf den ein Foreign Key liegt.
SELECT COUNT(l.PK) FROM Tabelle as l, Tabelle as p
WHERE l.FK1 = p.FK1 AND l.FK2 = p.FK2 AND l.PK <> p.PK
Dies gibt auch nach circa 1s das gewünschte Ergebniss aus, wenn ich das ganze nun in ein IF packe bzw das COUNT in ein IF EXISTS umschreibe, läuft das ganze undendlich, also nach Stunden kann man es abbrechen, da es nicht zu einen Ergebniss kommt.
Hat jemand da eine Idee wieso das sein kann?
Danke, werde es wohl so machen müssen. Auf die Form wie die Daten ankommen hab ich leider kein Einfluß.
Hallo,
ich deserialisiere eine XML Datei, die passenden Klassen habe ich mit der xsd.exe erzeugt. Nun ist das Problem das die decimal Werte in der XML Datei mit Komma getrennt sind und ich so immer einer FormatException erhalte.
Hab zwar schon das NumberFormatInfo geändert aber das hast nichts geholfen.
Das war mien Ansatz bist jetzt, nur muss ich so da die Daten in eine Datenbank übertragen werden müssen (aufbau xml und db unterscheidet sich doch ziemlich) müsste ich mir alle Daten per Hand aus dem Knoten suchen und da das weit über hundert Möglichkeiten sein werden wollte ich das vermeiden.
Bin schon gerade am XmlReader, nur muss die Ergebniss soweit wie möglich autoamtisch in die von xsd generierten Klassen stecken können. Problem scheint zu sein das ein Knoten sich aus mehreren Klassen zusammensetzt.
Hi,
ich muss mehrere sehr große XML Dateien (mit Schema) einlesen, diese können wohl mehrere GB erreichen.
Ich habe mir aus der XSD .Net klassen erstellen lassen in die meine Daten sollen, dass Problem ich streame Knoten für Knoten durch die Datei um sie nicht komplett laden zu müssen. Gibt es eine möglichkeit aus den Knoten die dazu passenden generierten Klassen zu füllen? Per Hand parsen würde ich gerne vermeiden da es sicher 100+ komplexe Klassen sein werden.
Danke dir, wusste ich noch garnicht und habe auch so noch nichts drüber gelesen das das geht.
Müsste es dann aber nicht ein Fehler geben wenn in den Projektoptionen als Zielframework 2.0 angegeben wird? Referenzen sind nur System, System.Data und laut Eigenschaften aus dem 2.0, was aber auch seltsamerweise im 3.5er projekt steht. Sollte vielleicht eine Solution für jedes machen.
Ahso ok danke 🙂
Das 2.0er ist das Grundgerüst das hat so nur Referenzen auf die normalen Framework DLLs (2.0)
Es sind ja 2 verschiedene Projekte nur bequemerweise in einer Solution. Das eine Projelkt muss leider zurzeit noch auf 2.0 beschränkt sein
Hi,
bin mir gerade unsicher ob das geht, kann ich in einer Solution in VS2008 ein .Net 2.0 und ein 3.5 Projekt haben? So dass das 2.0er Projekt auch wirklich keine Abhängigkeiten ins 3.5er Framework hat?
Weil hatte gerade zb eine var Variable mal benutzt im 2.0er Projekt und das sollte er doch dann garnicht komplilieren oder?
Danke für die Antworten, werde ersteinmal direkt auf die Datenbank und später als Übung noch andere Arten einbauen.
Hi,
ich habe vor eine kleine Anwendung erstmal nur für mich zu schreiben. Hauptsächlich geht es darum Datensätze einfach abzurufen bzw zu speichern.
Nur habe ich mich gefragt sollte jeder Client selber auf die Datenbank zugreifen oder hat man besser etwas "dazwischen" (Webservice oder sowas ähnliches)?
Habe jetzt auch ein lock drum gemacht und vorher nochmal ein if auf null und nun geht es, er geht zwar immernoch 2x rein aber es passietr nichts mehr.
Und das ganze passiert ohne Threads 🙂
Danke erstmal für die hinweise werde mal weiter probieren.
Timing problem kann ich mir os nicht vorstellen arbeit mit nur einen Thread und das ganze kann nur einmal gestartet werden seltsam alles 🙂
Naja das Problem ist der Fehler passiert nur auf einen PC und da auch nur wenn man nicht aus VS heraus startet.
Und wo der Fehler passiert weiss ich ja bei RealeseComObject, nur ein null test da bringt seltsamerweise nichts
Das Problem ist auch wenn ich vorher das Objekt auf null teste komme ich trotzdem in den Fehler. Auch wird ein chatch drumherum "umgangen".
Das seltsame ist ja das es nur auf den einen PC passiert das er überhaupt dispose 2x aufruft.
Hi,
ich habe eine Klasse die ich mit using benutze, dass sieht ungefähr so aus
using (App = new ExcelApplication(Singleton<GlobalSettings>.Instance.Trace))
{
....
}
wobei das Dispose von der Klasse so ausschaut
private void Dispose(bool dispose)
{
if (!disposed && dispose)
{
GC.SuppressFinalize(this);
}
else
return;
if (oApp != null)
{
if (ExcelAppClosing != null)
ExcelAppClosing(this, EventArgs.Empty);
ExcelHelper.CallDispose(childs);
ReflectionHelper.InvokeMethod(oApp, "Quit", null);
Singleton<Diagnostics.Trace>.Instance.Info("Excel Object mit ID " + this.excelId + " verworfen.");
System.Runtime.InteropServices.Marshal.ReleaseComObject(oApp);
disposed = true;
oApp = null;
GC.WaitForPendingFinalizers();
GC.Collect();
}
}
Bei mir funktioniert das auch wunderbar auf mehreren PCs.
Nur woanders kommt wenn man die Release Version ausführt (aus VS heraus gehen beide wunderbar)
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei System.Runtime.InteropServices.Marshal.ReleaseComObject(Object o)
da 2x dispose aufgerufen wird wie mir das logging sagt
2008-04-05 10:16:35,328 [1] INFO Util.Office.Excel.ExcelApplication - Excel Object mit ID 2045336587 verworfen.
2008-04-05 10:16:35,359 [2] INFO Util.Office.Excel.ExcelApplication - Excel Object mit ID 2045336587 verworfen.
Nur kann ich nicht nachvollziehen wieso er das macht.
Hallo,
ich habe zB. 2x eine List<string>, kann ich mit Linq beide vergleichen und als Ergebniss die diei n beiden bzw nur in der einen vorkommen erhalten?
ok schaue mal nach das Problem scheint wohl auch mitn Event der vorkommt zusammen zuhängen
Hi, bekomme jetzt bei CReateHandle den Fehler
System.InvalidOperationException was unhandled
Message="Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Form1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
Hi,
ich möchte eine TabPage zu einen TabControl hinzufügen, wenn ich es mit Invoke mache bekomme ich diesen Fehler
this.SuspendLayout();
UltraGrid grid = new UltraGrid();
DataSet data = new DataSet();
data.Tables.Add(job.TableResult);
grid.Dock = DockStyle.Fill;
grid.DataSource = data.Tables[0];
grid.DataBind();
CloseWindow de = delegate()
{
ultraTabControl1.Tabs.Add("Ergebniss von " + ultraTabControl1.SelectedTab.Key, // hier passiert der Fehler
"Ergebniss von " + ultraTabControl1.SelectedTab.Key);
// ultraTabControl1.Tabs["Ergebniss von " + ultraTabControl1.SelectedTab.Key].TabPage.Controls.Add(grid);
};
grid.Invoke(de);
ultraTabControl1.Tabs["Ergebniss von " + ultraTabControl1.SelectedTab.Key].TabPage.Controls.Add(grid);
this.ResumeLayout();
Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde.
Und ohne Invoke das
ultraTabControl1.Tabs.Add("Ergebniss von " + ultraTabControl1.SelectedTab.Key,
"Ergebniss von " + ultraTabControl1.SelectedTab.Key);
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement ultraTabControl1 erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.
wie mache ich es richtig?
Ja das ist auch alles ok, habe es jetzt soweit das localhost mit der IIS Startseite geht aber wenn ich auf die ASP.Net seite gehe kommt "Die Website hat die Anzeige dieser Webseite abgelehnt."
Hi,
habe hier auf XP SP2 den IIS installiert und eine Anwendung eingerichtet unter der Standartwebsite, nur wenn ich auf localhost zugreife will er ein passwort wobei keines von meinen geht. Und wenn ich auf die Anwendung zugreifen will findet er entweder garnichts oder das selbe Problem.
Habe schon IIS neu installiert und lange rumgebastelt aber nichts geht, auf einen anderen PC lief es auf anhieb bei gleichen Vorraussetzungen, habt ihr Ideen wie ich das noch hinbekomme?
Hi,
ich greife per Reflection auf Excel zu und bekomme einen Fehler "RPC_E_DISCONNECTED" bei diesen code
lock (sync)
{
book1 = books.Open(data.file1);
book2 = books.Open(data.file2);
}
try
{
lock (sync)
{
// also hie rkommt der fehler
sheets = book1.Worksheets;
sheets2 = book2.Worksheets;
sheet1 = sheets.getItem(data.sheet1);
sheet2 = sheets2.getItem(data.sheet2);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
range1 = sheet1.UsedRange;
range2 = sheet2.UsedRange;
object[,] saRet = range1.getValue();
object[,] saRet2 = range2.getValue();
nur der Fehler tritt nur hin und wieder auf einfach zufällig.
Hi,
möchte einen Delegaten auf ein objekt einrichten um ein Property abzurufen, nur leider will das ein MethodInfo und mit GetMethods bekomm ich nun dann ja nichts weil es ja ein Property und keine Method ist, was jkann ich tun?
getItemDel = (getItemDelegate)Delegate.CreateDelegate(oSheets.GetType(), oSheets.GetType().GetMethod("Item",
BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetProperty));
Hi,
möchte so ein Delegate für ein Reflection Aufruf an einen Com Objekt erstellen
public Sheets(object oSheets)
{
this.oSheets = oSheets;
getItemDel = (getItemDelegate) Delegate.CreateDelegate(oSheets.GetType(), oSheets.GetType().GetMethod("get_Item"));
}
nur bekomme ich immer ein Fehler da ich bei GetMethod nur null bekomme.
Wenn ich mir alle Methoden geben lasse bekomme ich nur die von Object
das Problem ist
MethodInfo mi1 = typeof(C).GetMethod("M1",
BindingFlags.Public | BindingFlags.Instance);
diese Zeile.
Habe ja kein Type sonder bekomme das Excel Objekt ja per per
Type objClassType;
objClassType = Type.GetTypeFromProgID("Excel.Application");
wird scheinbar so doch nicht funktionieren oder?
Hättest du vll ein Beispiel für das CreateDelegate?
Will eigentlich mit den Klassen die Excel Aufrufe Kapseln und deswegen benenne ich die Methoden gleich, darum der Unterstrich
Die Methode
public Sheet get_Item(int index)
{
if (EnsureIndexValue(index))
return new Sheet(Utility.ReflectionHelper.InvokeMethod(oSheets, "get_Item", (object)index));
return null;
}
und der Indexer
public Sheet this[int sheet]
{
get
{
}
}
Hi,
will einen Indexer erstellen mit einen Int Parameter, habe aber auch eine Methode
die einen Int Parameter hat nun gibts einen Compiler Fehler das es schon eine Methode gibt mit so einen Parameter.
Nur ist ein Indexer nicht etwas ganz anderes als diese eine Methode?
Hi,
ich habe eine Tabelle in der ich die Spalten
id, text, verweisid habe.
Also das heisst wenn eine ein Wert der Unterpunkt eines anderen ist dann hat er in verweisid die id des Oberwertes.
Nun wollte ich das ganze als Liste in Html ausgeben lassen, probiere schon seit Tagen aber entweder die Einträge stehen einmal unter dem Oberwert und dann extra nochmal darin oder die Unterpunkte sind immer leer.
Binde das alles an einen Repeater mit der Text Eigenschaft meiner Klasse diese sieht bis jetzt so aus:
public string Text
{
get
{
StringBuilder zwischen = new StringBuilder();
List<EintragData> knoten = new List<EintragData>();
foreach (EintragData data in list)
{
if (data.Verweis == this.id.ToString())
{
knoten.Add(data);
zwischen.Append("<li>");
zwischen.Append(data.Text);
zwischen.Append("</li>");
}
}
StringBuilder sb = new StringBuilder(text);
sb.Append("<li>");
if (knoten.Count > 0)
{
sb.Append("<ul>");
sb.Append(zwischen.ToString());
sb.Append("</ul>");
}
sb.Append("</li>");
return sb.ToString();
}
}
Hi,
habe ne WebSite auf .Net 2 umgestellt mit dem neuen VS nur lassen sich jetzt manche Seiten nicht mehr im Designer öffnen da die Validierung so an die 600 Fehler raushaut.
Nun da die Seite bis jetzt auch so lief und sowieso bald neu gemacht wird wollte ich wissen ob ich diese Validierung abschalten kann?
In den Optionen schlate ich sie zwar ab aber die wird jedes mal wieder automatisch aktiviert.
Ist ein eigenes, dass Problem ist wenn man als erste Aktion auf eine Schaltfläche geht die ein Diagramm mit dummy Daten zeichnet passiert es, macht man irgendetwas anderes vorher passiert es nicht mehr.
Hi,
habe ein Programm das auf 3 gleich konfigurierten Rechnern (selbes Image) immer bei der selben Aktion abstürzt, dass Problem ist ich bekomme keinerlei Fehlermeldung oder sonstetwas es ist einfach komplett weg.
Wie kann ich an den auslöser herankommen? Und geht das überhaupt das es einfach so verschwindet? (.Net 2.0 ist es und sonst lässt sich das verhalten nirgendwo reproduzieren)
Das mit den internen Methoden ist jetzt eigentlich kein Problem mehr musst nur InternalVisibleTo Attribut nutzen.
Hi,
fange bald ein neues Projekt an und Linq wäre gut geeignet dafür,
hat jemand von euch Erfahrung ob es schon einigermassen benutzbar ist?
(Würde es nicht für DB Abfragen nutzen sondern für XML und Collections)
Muss der User etwas anderes zusätzlich installieren als das 2.0 Framework?
Da muss ich was falsch verstanden haben, aber jetzt ist es mir klar geworden danke 🙂
Hi,
ich füge in ein Dictionary eigene Klassen als Key ein und möchte das diese mit bestimmten Eigenschaften nicht doppelt vorkommen.
Das Problem obwohl ich obengenanntes Interface in die Klasse implementiert habe kommen sie trotzdem doppelt noch vor
Hi,
glatt übersehen 🙂
Vielen Dank für die schnelle Hilfe
Bekomme mit Activator.CreateInstance immer den Fehler
"Es kann keine Schnittstelleninstanz erstellt werden..."
Hi,
danke klappt jetzt. Dachte könnte den Type einfach abfragen mit is.
Und kann ich einfach mit Activator eine Instanz der COntrols erstellen und diese dann als Array zurückgeben?
Hi,
ich möchte UserControls aus einen Assembly heraussuchen die ein bestimmtes Interface implementieren, dies versuche ich so:
public static List<T> GetClassesWithTAssembly asm)
{
if (asm == null)
throw new NotSupportedException();
List<T> list = new List<T>();
Type[] arrTypes = asm.GetTypes();
foreach (Type type in arrTypes)
{
Type[] arr = type.GetInterfaces();
foreach (Type t in arr)
{
if (t is T)
{
}
}
}
return list;
}
nur das Problem der Vergleich t is T ist nie true obwohl wenn ich es mir im Debugger anschaue t und T der gleiche Type sind.
Und kann ich mit CreateInstace schon UserControls erzeugen die ich dann in der List speichere?
Funtioniert jetzt müssen beide User Schreibrechte haben, der IWAM und IUSR
Hi,
also der Internet User hat eigentlich Rechte für dieses Verzeichniss (ist doch der IUSR... ?)
Hi,
habe mit obengenannten eine Seite erstellt, lokal funktioniert auch alles nur wenn ich es auf den Server kopiere erhalte ich beim erstellen von Benutzern den Fehler:
Fehler beim Aktualisieren der "D:\INETPUB\WWW_ROOT\APP_DATA\ASPNETDB.MDF"-Datenbank, weil die Datenbank schreibgeschützt ist.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Fehler beim Aktualisieren der "D:\INETPUB\WWW_ROOT\NEUWAGEN\APP_DATA\ASPNETDB.MDF"-Datenbank, weil die Datenbank schreibgeschützt ist.
Nur die Datei ist nicht schreibgeschützt, woran könnte das liegen?
(Ist ein Sql Server Express)