Zum Inhalt springen

.NETter

Mitglieder
  • Gesamte Inhalte

    177
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von .NETter

  1. das sieht in etwa so aus "Sqldatasource.selectcommand = "SELECT * FROM kunden where name = '" & Textbox1.Text & "' AND nachname = '" & Textbox2.Text & "'" Sowas kann wirklich nur für einen internen Test genutzt werden! Für eine öffentlich zugängliche Suche bitte IMMER SqlParameter nutzen. Ansonsten ist SQL-Injection Tür und Tor geöffnet. Hier mal die Doku zum Thema: http://msdn.microsoft.com/de-de/library/system.data.sqlclient.sqlparameter.aspx Gruß, Thomas
  2. .NETter

    CrystalReports Express?

    Falls es als Datenquelle ein SQL Server sein soll gibt es den SQL Server Express with advanced services. Der ist kostenlos und darf auch kommerziell genutzt werden. Dieser beinhaltet die Reporting Services. Falls es eine unabhängige Lösung sein soll kannst Du in .Net auch die Local Reports (.rdlc) nutzen. Auch diese sind kostenlos und kommerziell nutzbar.
  3. Hallo, wie sieht es mit der Konfiguration des Protokolls TCP/IP aus. Sind hier unter den Eigenschaften, bei den jeweligen IPs, die korrekten TCP-Ports eingetragen? Läuft der SQL Server Dienst auf dem Server überhaupt korrekt? Da hat er Recht :-) Mein Fehler...
  4. Hast du in den Servereigenschaften auch Remoteverbindungen zugelassen? Ansonsten kannst Du Dich nur lokal auf der Maschine mit dem SQL Server verbinden. Im Managementstudio Rechtsklick auf den Server und dort dann unter Eigenschaften nachsehen.
  5. Ja, genau: Datasource=.\Instanzname (standard ist SQLEXPRESS) Dann sollte es funktionieren...
  6. Würde der SQL Server als benannte oder als Standardinstanz installiert?
  7. Hallo, wie verbindest Du Dich von diesem Rechner aus mit dem SQL Server? Integrierte - oder SQL Server Auth. Falls integriert wird dem Windows Benutzer kein Login zugewiesen sein. Ansonsten kannst Du für den SQL Server auch die "gemischte Authentifizierung" festlegen. Der Fehler wird angezeigt wenn versucht wird mit einem Windows Benutzer eine Verbindung zum SQL Server aufzubauen, der Benutzer aber keiner ausreichenden Rechte besitzt, oder versucht wird mittels SQL Server-Anmeldung (Benutzer und Passwort) zu verbinden, der SQL Server aber nur Windows-Authentifizierung akzeptiert.
  8. .NETter

    Technologie im Alltag?

    Alle WindwwsFroms-Controls kannst du auch in der WPF über einen WindowsFormsHost nutzen. Ich mach das z.B. für das ReportViewer-Control. Das gibt es in der WPF auch nicht. In der WPF ist alles auf Bindung ausgelegt... Mal nach MVVM googeln...
  9. .NETter

    Technologie im Alltag?

    Ich würde sagen dass man seine Entwicklungstechnik nach den Anforderungen aussuchen sollte und keine Technik von vornherein abschreibt. WinForms ist OK wenn man mal schnell eine GUI braucht, für größere Dinge die auch in 5 Jahren noch laufen und erweiterbar sein müssen würde ich eher die WPF nutzen. WinForms wird ja nun nicht mehr von Microsoft weiterentwickelt. Ich arbeite gerade an einem Silverlight-Projekt, obwohl ich beim ersten Blick nicht begeistert war, möchte ich es jetzt nicht mehr missen.
  10. Hallo, ich stimme hier der Lösung des Markierens zu. Ein Datensatz wird mit einem "Gültig von" und einem "Gültig bis" versehen. So ist es möglich Informationen zu einem bestimmten Zeitpunkt abzurufen. Das ganze hat auch einen Namen: Slowly Changing Dimensions
  11. Falls kein Access in der entsprechenden oder kompatiblen Version installiert ist benötigt man eine Access Runtime auf dem Zielrechner. Das kann man auch mittels Setup-Projekt gleich mit ausliefern und installieren.
  12. Bin gerade mal über diese Passage gestolpert :-) Der SQL Server pumpt was das Zeug hält den Arbeitsspeicher voll. ABER... er gibt ihn bei RAM-Anforderungen durch andere Prozesse auch "sofort" wieder frei. So nutzt er nur den RAM, der eh nicht gebraucht wird. Die Speicher-Leak-Problematik gab es nur bis zur Version 7.0. Von daher ist das für deine Datenbanken perfekt und für alle anderen Prozesse in keinerweise schädlich. Viele Grüße, Thomas
  13. Hallo, Fehler 112 ist wie schon bemerkt ein Fehler der ausgegeben wird wenn ein Backup nicht mehr auf dem ausgewählten Speicher abgelegt werden kann. Was ist das für ein Ordner auf Laufwerk D in den Du sicherst? Vielleicht garkein "normaler" Ordner sondern ein gemountetes Laufwerk? Probiere hier mal einfach einen neuen Ordner aus. Gruß, Thomas
  14. Die Abfrage ist so ausführbar und wird das gewünschte Ergebnis liefern, somit ist meiner Meinung nach die Aufgabe zu 100% erfüllt. Es wurden keinerlei Vorgaben zum SELECT-Statement gemacht? Also ist es laut der Aufgabenstellung Dir überlassen wie Du das korrekte Ergebnis ermittelst. Ob schön oder nicht, darüber lässt sich streiten. Zum Thema Performanceoptimierung für das Statement stand ebenfalls nichts in der Aufgabe. PS: Der Ersteller dieser Aufgabe wirft bei den Tabellennamen Singular und Plural durcheinander -> Kunden, Baumaschinentyp. Per Konvention (oder einfach guter Stil) sollen Tabellen immer im Singular benannt werden -> Kunde, Mietvertrag, Baumaschine etc. Ebenso sollte man Umlaute in den Namen vermeiden. Gruß, Thomas
  15. Zum Thema SharePoint: Um ein simples "Wiki" zu entwickeln benötigst Du lediglich die SharePoint Services 3.0 (Server 2003) bzw. SharePoint Foundation (Server 2008). Den vollen SharePoint Server 2007 oder 2010 dafür zu lizensieren wäre etwas "heavy". Die Entwicklung ist hier aber nicht .Net-like. Es wird viel XML geschrieben und in bestimmten Ordnerstrukturen abgelegt. Wie gesat nicht ganz trivial und könnte somitschon ein Show-Stopper sein. Eine Idee von mir ist eine "moderne" Silverlight 4 Webanwendung. Silverlight 4 ist sehr leistungsstark und auch optisch sehr ansprechend gestaltet. Aber auch hier musst Du eben alles selbst entwickeln. Oder suchst Du einfach eine fertige Software die nur angepasst werden soll? Gruß, Thomas
  16. Du kannst dies mal probieren: =IIF(Fields!num12.Value = 1,Fields!var73.Value, (IIF(Fields!num13.Value = 1,Fields!var71.Value, (IIF(Fields!num14.Value = 1,Fields!var77.Value, (IIF(Fields!num15.Value = 1,Fields!var79.Value, (IIF(Parameters!Marke.Value=3,Fields!var73.Value & ", " & Fields!var75.Value,""))))))))) Gruß, Thomas
  17. Ich würde hier die Integration Services vom SQL Server nutzen. Hier kannst Du eine ORACLE-Datenquelle wählen und die Daten dann in den SQL Server pumpen. SSIS ist Bestandteil (ein Modul) des SQL Server. Ich habe dieses Szenario in einer Liveumgebung und bis auf wenige Datentypkonvertierungen war dies schnell umgesetzt. Einfach mal über die SQL Server Integration Services (SSIS) schlau machen. Gruß, Thomas
  18. Hallo, man kann dies in einer generischen Liste tun und dann wieder auf die Inhalte der Liste zugreifen. private void Form1_Load(object sender, EventArgs e) { List<TextBox> list = new List<TextBox>(); while (list.Count() <= 10) { list.Add(new TextBox()); } } Danach kannst Du die Liste (typensicher) durchlaufen oder eien bestimmten Index abrufen. Wozu benötigst Du das denn? Oder ist das nur eine theoretische Anforderung? Gruß, Thomas
  19. Hallo, das ist alles nicht falsch was hier so geschrieben wird. Hier gibt es aber grundlegende Fragen zur Installation des SQL Servers und zur Erstellung der jeweiligen Datenbank. Was eine SQL Server Datenbank in die Knie zwingen kann ist ein falsch konfiguriertes ISOLATION LEVEL (einfach mal googeln). Oder aber auch ganz einfache "nicht optimale" Einstellungen in der DB. Sind die Datendateien und Logdateien auf seperaten Laufwerken? Wird für die Datenbankobjekte die FILEGROUP PRIMARY verwendet? Wenn ja sollten die Standardeinstellungen zum Erstellen von DB-Objekten auf eine seperate FILEGROUP konfiguriert werden. In der PRIMARY tobt der SQL Server selbst herum. Die Systemdatenbank tempdb sollte auf jeden Fall physikalisch an einem anderen Ort liegen. Große Tabellen können über mehrere Laufwerke partitioniert werden u.v.m.... Benutze mal den SQL Server Profiler und im SQL Server 2008 auch gerne mal den Optimierungsratgeber. Ebenso kannst Du Leistungsdaten aufzeichnen und mit dem Windows Resourcenmonitor automatisiert abgleichen lassen und Dir die Auslastung (z.B. RAM) exakt im Vergleich mit einem Trace der DB anzeigen lassen. Wieviele Verbindungen sind denn permanent geöffnet? Vielleicht ein Anwendungsfehler von Progs die darauf zugreifen und offene Verbindungen zurück lassen? Wie Du siehst gibt es hier unendlich viele Möglichkeiten. Viele Grüße, Thomas
  20. Hallo, Du legst im Delegate fest das ein "Object" übergeben wird. Du kannst hier auch ein spezifiziertes Objekt von einem beliebigen Typ (auch Objekte von eigenen Klassen) angeben. Hier mal ein Delegate: public delegate void del_GibMeinObjektZurueck(SqlConnection Connection); In der Hauptform kannst Du dann auf die Member des Objekts zugreifen wie z.B. den Connectionstring etc. Die Übergabe als "object" müsstest du erst auf das gewünschte Format Casten. Was du dir mit einer expliziten Übergabe des benötigten Objekttyps einfach sparen kannst. Sonst würde das Cast in der Hauptform so aussehen: ListViewItem item = (ListViewItem)sender; Daher würde ich gleich das Objekt übergeben was Du auch benötigst. Viele Grüße, Thomas
  21. Hallo ! Ich habe hier mal eine Klasse erstellt (nur Prototyp aber funktionsfähig ) So sollte nach der Instanzierung eines Objekts vom Typ Monat30 der Funktionsaufruf von AddDays() das von Dir gewünschte Ergebnis liefern. Wie gesagt nur ein Prototyp der bestimmt hier und da noch überarbeitet werden kann oder sollte. class Monat30 { public int Monat { get; set; } public int Tag { get; set; } public int Jahr { get; set; } public Monat30 Folgemonat { get; set; } public int AddTage { get; set; } public Monat30(DateTime Startdatum, int Tage) { Jahr = Startdatum.Year; Monat = Startdatum.Month; Tag = Startdatum.Day; AddTage = Tage; } public DateTime AddDays() { if (AddTage >= 360) { Jahr = Convert.ToInt32(Jahr + (Math.Floor((double)AddTage / 360))); AddTage = Convert.ToInt32(AddTage - (Math.Floor((double)AddTage / 360) * 360)); } if (AddTage >= 30) { Monat = Convert.ToInt32(Monat + (Math.Floor((double)AddTage / 30))); if (Monat > 12) { Jahr += Convert.ToInt32(Math.Floor((double)Monat / 12)); Monat = Convert.ToInt32(Monat % 12); } AddTage -= Convert.ToInt32(AddTage - (double)(AddTage % 30)); } if ((AddTage + Tag) > 30) { Monat = Monat + 1; Tag = (AddTage + Tag) - 30; AddTage = AddTage - (AddTage % 30); } else { Tag += AddTage; } if (Monat == 2) { DateTime calcDate = new DateTime(Jahr, 1, 1); if (Tag > 28 && !DateTime.IsLeapYear(calcDate.Year)) { Tag = 28; } else if (Tag > 28 && DateTime.IsLeapYear(calcDate.Year)) { Tag = 29; } } return new DateTime(Jahr, Monat, Tag); } } Viele Grüße, Thomas
  22. Hallo, ja wer lesen kann ist klar im Vorteil :-) Was Du vorhast ist garnicht so kompliziert. Da ich nicht weiß wie Dein Wissenstand in C# ist mache ich es mal grundlegend. Du hast Form1 welche Form2 als Dialog aufruft. Form2 soll als Beispiel nur einen String an Form1 zurück geben. Bsp. Textboxeingabe. Fangen wir im Dialog an (also Form2): Du benötigst hier einen Delegaten (Ein Delegat kann ein Methode "wrappen" welche auf einem anderen Objekt aufgerufen wird. Vielleicht mal irgendwo nachlesen...). Der Delegat besitzt eine Signatur welche festlegt was übergeben werden muss. In diesem Fall ein simpler String. Also erstellen wir einen Delegaten mit dieser Syntax in Form2: //Delegat public delegate void del_GibTextZurueck(string ausgabe); Als zweiten Schritt müssen wir das neue Event erstellen und zwar vom Typ des oben stehenden Delegaten: public event del_GibTextZurueck GibTextZurueck; Wenn Du auf der Form2 eben eine Textbox und einen Button hast könnte das Event für den Button_Click so aussehen: //Event für den Buuton_Click private void cmdEingabe_Click(object sender, EventArgs e) { if (txtEingabe.Text != "") //nur wenn Textbox nicht leer ist { GibTextZurueck(txtEingabe.Text); //hier rufst Du Dein erstelltes Event auf //Form2 wird als Dialog aufgerufen, daher Result = OK this.DialogResult = DialogResult.OK; } } Das wars schon im Dialog! Jetzt zu Form1: Du instanzierst ein Objekt vom Typ Form2 und fügst der Methode "GibTextZurueck" einen Eventhandler hinzu und zeigst Form2 als Dialog an: Form2 frm = new Form2(); frm.GibTextZurueck += new Form2.del_GibTextZurueck(frm_GibTextZurueck); frm.ShowDialog(); Den Code des Eventhandler kannst Du dann Deinen wünschen nach gestalten. Als Beispiel nehme ich den String entgegen und schreibe ihn in eine Textbox auf Form1. void frm_GibTextZurueck(string ausgabe) { txtStringAusForm2.Text = ausgabe; } Hoffe das hilft Dir weiter. Viele Grüße, Thomas
  23. Welche Sprache denn? VB .Net, C# ?
  24. Hi, vielleicht hilft Dir dieser Link: C# Anagram Method Gruß, Thomas
  25. Hallo! Vielleicht hilft hier OpenQuery. Die Abfrage ist hier dann einfacher Text (also PL/SQL) der direkt am Oracle Server ausgeführt wird. Ich hatte diese Problematik noch nicht aber hoffe, dass es Dir weiter hilft. Hier mal ein Link: OpenQuery Gruß, Thomas

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...