Laden...

Forenbeiträge von schillerdeluxe Ingesamt 138 Beiträge

09.12.2008 - 12:41 Uhr

Ja danke, dass habe ich auch schon gefunden...

Das problem war, dass MS anscheinend stored procedures raushaut. und jetzt habe ich gedacht, dass sp_addrolemember auch rausfliegt, wie zum Beispiel sp_adduser etc...

ist aber nicht der fall, daher hat sich meine frage auch wieder von alleine geklärt, danke trotzdem

mfg

09.12.2008 - 12:08 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo,

ich muss für ein kleineres Projekt mittels c# einen DB Benutzer anlegen...

Jetzt wollte ich fragen ob es da schon fertige methoden gibt, im internet habe ich zwar nichts gefunden, aber ich glaube ich habe auch vlt falsch gesucht...

wenn ich einen reinen sql befehl eingebe, scheint es mir unmöglich, einen benutzer mittels sql einer rolle zuzuweisen...

mfg

04.12.2008 - 18:08 Uhr

Habe hier etwas gefunden, verstehe nur den Sinn dahinter nicht:

KeyPressEventArgs.KeyChar-Eigenschaft

04.12.2008 - 17:47 Uhr

Hallo,

ich würde gerne Wissen, wie ich es anstellen kann, dass wenn der Fokus auf meinem Form ist und ich Strg und X gleichzeitig drücke, dass ein Event ausgelöst wird.

danke

mfg

04.12.2008 - 13:45 Uhr

OK,

Also in meinem Fall ist der NAME der PROPERTY = Text

daher:


this.cmbAuthentification.DisplayMember = "Text";
this.cmbAuthentification.ValueMember = "AuthentificationType";

04.12.2008 - 12:38 Uhr

Ja, das wollte ich ja anfangs auch machen, weil ich hab ja vorher wohl im forum nach vorschlägen gesucht, es gibt da nur ein problem:


ExtendedComboBoxItem cmbWindowsItem = new ExtendedComboBoxItem();
            ExtendedComboBoxItem cmbSQLItem = new ExtendedComboBoxItem();

            cmbWindowsItem.Text = "Windows-Authentifizierung";
            cmbWindowsItem.AuthentificationType = DBAdminUser.AuthentificationTypes.Windows;

            cmbSQLItem.Text = "SQL Server Authentifizierung";
            cmbSQLItem.AuthentificationType = DBAdminUser.AuthentificationTypes.SQLServer;

            this.cmbAuthentification.Items.Add(cmbWindowsItem);
            this.cmbAuthentification.Items.Add(cmbSQLItem);

Und zwar, ich habe hier 2 objekte vom typ ExtendedComboBoxItem und jetzt weiß ich nicht, wie ich das mit dem DisplayMember machen muss

04.12.2008 - 12:20 Uhr

Hallo, ich habe ein kleines Problem, und hoffe, dass mir jemand dabei helfen kann:

Ich möchte in meiner Combobox eigene Items hinzufügen, welche zum Beispiel Properties haben, wie zum Bsp eine Enumeration etc...

Ich hab jetzt zwar schon eine eigene Klasse erstellt, aber wie füge ich diese dann anschließend in die Combobox hinzu?



public class ExtendedComboBoxItem 
    {
        /// <summary>
        /// Ruft den Wert des Textes des Items ab, oder legt diesen fest
        /// </summary>
        public string Text
        { get; set; }

        /// <summary>
        /// Ruft die Enumeration der Authentifizierungsart ab, oder legt die fest
        /// </summary>
        public SetupDatabase.CommonLogic.DBAdminUser.AuthentificationTypes AuthentificationType
        { set; get; }

        
    }


Kann mir dabei vlt jemand helfen?

danke shcon im vorhinein,

mfg

26.11.2008 - 18:35 Uhr

verwendetes Datenbanksystem: MS SQL 2005

Hallo,

ich habe leider schon wieder ein Problem:
Ich muss herausfinden, welche Version der SQL Server hat.

So darf zum Beispiel auf einene SQL Server 2000 nicht zugegriffen werden, sondern nur auf 2005 und 2008...

Ich habe das Internet schon durchforstet und bis zwar auf SERVERPROPERTY gestoßen, aber da weiß ich nicht in wie fern ich aus der 'productVersion' (z.B.: 9.00.3068.00) schlau werde...

hat jemand vlt einen hilfreichen Vorschlag,

danke schon mal im vorhinein

mfg

26.11.2008 - 17:28 Uhr

Hab den Fehler gefunden. Hatte nie was mit dem Connection String zu tun...


while (sqlreader.Read())
            {
                MessageBox.Show(sqlreader[0]+"");
            }

damit der reader daten beinhaltet werden, muss reader.Read() aufgerufen werden

26.11.2008 - 16:15 Uhr

Der Connectionstring sieht so aus:

Data Source = LAPDATACENTER;IntegratedSecurity = True; User ID = FIRMENDOMAIN\benutzername

26.11.2008 - 15:57 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo, ich habe ein schwieriges Problem und habe leider keine ahnung wie ich dieses lösen soll / kann...

Und zwar: Ich muss überprüfen ob eine DB schon vorhanden ist. Hab ein wenig im INet recherchiert, sollte kein problem sein:

select * from [master].[dbo].[sysdatabases] where name = 'DBName'

Im Management Studio klappt das auch ganz wunderbar.

Nur im Visual Studio 2008 nicht. Die Verbindung funktioniert auch.
Doch bei diesem Codeteil, kommt eine Exception:


SqlConnection con = new SqlConnection(builder.ConnectionString);
            con.Open();
            string query = "select * from [master].[dbo].[sysdatabases]";
            SqlCommand cmd = new SqlCommand(query, con);
            SqlDataReader reader = cmd.ExecuteReader();
            
            MessageBox.Show(reader[0].ToString());
            con.Close();

genauer gesagt beim ansprechen des SQLDataReader Objektes an einer bestimmten stelle.

Die Exception ist folgende:
Eine nicht behandelte Ausnahme des Typs "System.InvalidOperationException" ist in System.Data.dll aufgetreten.

Zusätzliche Informationen: Ungültiger Leseversuch, wenn keine Daten vorhanden sind.

Bei diesem Befehl sollte er mir wenigstens master, tempdb, model und msdb anzeigen...

Hat jemand eine Ahnung?

danke, mfg

21.11.2008 - 12:44 Uhr

hat sich erledigt, war sowieso ein falscher befehl...

danke nochmal, mit dbo.sysdatabases hat es funkitoniert

21.11.2008 - 12:31 Uhr

Kann mir jemand erklären, wo hier der Fehler liegt?


if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[GWS]') and OBJECTPROPERTY(id,N'IsUserTable')) = 1

Fehlermeldung:
In der Nähe von ')' wurde ein nicht boolescher Ausdruck in einem Kontext angegeben, in dem eine Bedingung erwartet wird.

21.11.2008 - 12:07 Uhr

Danke, das hört sich nach einer guten Idee an...

mfg

21.11.2008 - 11:50 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo, ich habe ein kleines Problem und hoffe mir kann jemand weiterhelfen:

Ich muss ein Setup-Programm zum Erstellen einer Datenbank programmieren. Wenn dieses Setup geöffnet wurde und die Datenbank aber schon erstellt ist, soll automatisch erkannt werden, dass die DB eben schon vorhanden ist.

Nun zu meiner Frage:

Wie kann ich mittels C# überprüfen ob eine Datenbank existiert?

Danke schon mal im vorraus...

mfg

07.11.2008 - 11:45 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo,
ich habe leider mal wieder ein Problem:

Ich habe mehrere TSQL Skripte, welche sich verkettet selbst aufrufen (Sie erzeugen eine Datenbank und Tragen dummy-Werte ein) ...

Jetzt habe ich vorher eine cmd Datei gehabt, welche die einzelnen .sql Dateien ausführt... Ist keine schöne Lösung, daher möchte ich EINE .exe Anwendung, welche die sql Skripte als Resources eingebunden hat.

Jetzt gibt es leider nur ein Problem...
Ich bekomme ein Exception und weiß leider nicht wieso:
Code:


ProcessStartInfo startInfo = new ProcessStartInfo("sqlcmd", Resources.SQL_GWS_CreateDB);
Process.Start(startInfo);

Exception:
Win32 Exception wird nicht behandelt
Der an einen Systemaufruf übergebene Datenbereich ist zu klein

Was kann der Fehler sein?
Danke

06.11.2008 - 15:55 Uhr

Hallo,

ich habe mehrere sql scripten, welche eingelesen werden müssen. Anforderung ist aber, dass schlussendlich eine Datei (.exe) "ürbrig" bleibt. Jetzt habe ich mich auf msdn schon schlau gemacht, dass es dafür Ressourcen gibt. Wie auf msdn beschrieben habe ich meine sql scripten als ressourcen hinzugefügt.

Leider ergibt sich jetzt das Problem, dass ich nicht weißt, wie ich diese scripten in c# jetzt verwende...

danke
schillerdeluxe

06.11.2008 - 11:30 Uhr

Danke, MrSparkle... Das hört sich recht gut an...

danke auch an PhilHol für den link...

mfg

05.11.2008 - 17:14 Uhr

Naja im endeffekt muss es einfach nur eine .exe datei sein, welche die sql Dateien ausführt...

Danke für den Link, aber das ist leider nichts was ich gebrauchen kann... Ich habe mehrere .sql Dateien, welche nach der Reihe ausgeführt werden sollen.

Nun soll eine Setup-Datei herauskommen, bei der noch diverse Eingaben getätitgt werden können...

Die Setup-Dateien, welche man unter visual studio erzeugen kann, sind mir auch nicht so ganz geheuer, bzw. versteh ich sie nicht so ganz...

Trotzdem DANKE

05.11.2008 - 16:24 Uhr

verwendetes Datenbanksystem: MS SQL Server 2005

Hallo ich muss eine Setupdatei erzeugen, welche eine DB installiert. Die .sql Dateien sind alle schon vorhanden, ich muss es jetzt nur noch schaffen eine Setup Datei herzustellen.

Ich habe mal versucht mit Visual Studio 2008 eine Setup/ Weitergabedatei zu erstellen, jedoch konnte ich damit überhaupt gar nichts damit anfangen...

Hat von euch jemand eine lösung?

danke schon mal im vorhinein

mfg

03.09.2008 - 13:49 Uhr

Achso...
Naja, wäre die Notlösung, würde es aber lieber anders machen

03.09.2008 - 13:44 Uhr

Ja, es ist der richtige Prozess..

Ja mit Environment.MachineName bekomm ich den Computernamen... Der ist aber auch immer der selbe, leider!

Was meinst du damit, dass ich es zur not rüberschicken könnte?

03.09.2008 - 13:34 Uhr

Hab ich gerade versucht...
Als string bekomme ich dann nur einen . (punkt)

03.09.2008 - 13:30 Uhr

Ja das hatte ich schon...

Etwas genauer zum Problem:

Es liegt am Server, auf dem man sich hin remotet...
Und das blöde dabei ist, dass es nur einen Benutzernamen gibt, sich aber mehrere Leute zugleich anmelden können. Jetzt kann ich den Benutzer nur durch den Clientnamen herausfinden...

03.09.2008 - 13:22 Uhr

Hallo @ all,

Hab ein kleines Problem und komm einfach nicht weiter.
Ich muss ein Tool entwerfen, dass am Server unter anderem überprüft, ob ein gewisser Prozess von einem bestimmten Benutzer ausgeführt wird.

Dafür benötige ich unbedingt den Clientnamen des Benutzers...

Kann mir jemand weiterhelfen?

01.08.2008 - 16:46 Uhr

Hallo,
ich möchte gerne ein Excel sheet mittels C# sortieren und zwar nach der Spalte B.



Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

            Workbook wb = null;
            Worksheet ws = null;
            Range range = null;

            wb = excel.Workbooks.Open(@"P:\TS\All Trades.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            ws = (Worksheet)wb.Worksheets["Sheet1"];

            range = ws.get_Range("A1", "AC8564");
            range.Sort(range, XlSortOrder.xlAscending, Missing.Value, Missing.Value, XlSortOrder.xlAscending, Missing.Value, XlSortOrder.xlAscending, XlYesNoGuess.xlYes, Missing.Value, Missing.Value, XlSortOrientation.xlSortColumns, XlSortMethod.xlStroke, XlSortDataOption.xlSortNormal, XlSortDataOption.xlSortNormal, XlSortDataOption.xlSortNormal);


Leider bringt es mir nicht den gewünschten Erfolg... Wenn ich ehrlich bin, vermisse ich ein bisschen den Parameter, nach welcher Spalte ich sortieren möchte

Hat von euch jemand eine Idee?

mfg
S

29.07.2008 - 22:24 Uhr

danke, so funktioniert es prima

29.07.2008 - 22:22 Uhr

wird dann der alte wert überschrieben?

29.07.2008 - 22:09 Uhr

Hallo,
ich habe ein kleines Problem:

Ich möchte gerne ein Dictionary füllen, nur blöderweiße kommt es vor, dass ein paar Key-Werte eventuell doppelt vorkommen...

Ich hab gesehen es gibt eine Distinct-Methode (zumindestens im .NET 3.5), kann ich damit die doppelten Einträge löschen?

mfg

29.07.2008 - 13:51 Uhr

hallo community,

Tut mir leid, dass ich hier dieses Forum so zu "mülle" mit meinen wahrscheinlich etwas leichten Fragen, aber bin kompleter Neuling auf dem Gebiet der Ansteuerung von Excel.

Ich habe ein Sheet mit ungefähr 8500 beschriebenen Columns. Die Einträge ändern sich aber häufig und jetzt würde ich gerne dynamisch auf die Anzahl der Zellen kommen.

Habe es mal in VBA gemacht, da bin ich alle Columns durchgegangen und hab überprüft oder der Inhalt != "" war, aber das scheint in C# wohl nicht zu funktionieren.

Hat jemand von euch eine Idee?

mfg
S

29.07.2008 - 13:03 Uhr

OK, bin auf den Fehler gekommen, leider kam nach Beseitigung dieses Fehlers ein anderes Fehler hinzu...

Im übrigen: der alte Fehler war, dass ich einmal bei der Zellenangabe einen string und einmal integer verwendet habe, wenn ich beide male integer verwende gibt es nicht mehr die Exception: Typkonflikt...

Leider ist jetzt mal wieder die meistsagenste Exception geworfen worden (in der selben Zeile):

Ausnahme von HRESULT: 0x800A03EC

Das internet sagt mir, dass es Probleme mit der Globalisierung und Lokalisierung von Office Projektmappen gibt, aber ich habe im selben Source ebenfalls schon eine Excel Mappe ausgelesen und ich kann mir schwer vorstellen, dass das damit was zu tun hat...

Hat von euch jemand eine Ahnung?

29.07.2008 - 12:28 Uhr

Ach ja, die Exception tritt genau bei dieser Zeile auf:


if (workSheet.Cells["B", temp].ToString() == "")

29.07.2008 - 12:27 Uhr

Hallo,
Ich hoffe mir kann geholfen werden:

ich will aus einem Excel Sheet diverse Spalten auslesen. Nachdem das ganze gestern schon geklappt hatte und mein Projekt weitesgehend steht, hab ich mir gedacht ich "verschönere" das ganze noch, weil es ziemlich hard Codiert war.

also wollte ich mal mein Excel sheet durchloopen und schauen, wie viele Zellen überhaupt beschrieben sind.


   private int GetFilledCells()
        {
            Microsoft.Office.Interop.Excel.Application e = new Microsoft.Office.Interop.Excel.Application();
            Workbook workBook = e.Workbooks.Open(portFolioPath, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            Worksheet workSheet = (Worksheet)workBook.Worksheets[1];
            int temp = 1;
            while (true)
            {
                if (workSheet.Cells["B", temp].ToString() == "")
                {
                    workBook.Close(false, false, false);
                    return temp;
                }

                else
                    temp++;                

            }
            
        }

Allerdings kommt dann eine Exception die mir absolut nichts sagt:

COMException wurde nicht behandelt:
Typkonflikt. (Ausnahme von HRESULT: 0x80020005(DSIP_E_TYPEMISMATCH))

Weiß von euch jemand Rat?

mfg und DANKE

28.07.2008 - 14:54 Uhr

DANKE!!!

Haut endlich hin... War das vlt ne schwere Geburt...

thx noch mal

28.07.2008 - 14:29 Uhr

 List<string> returnList = new List<string>();
for (int i = 1; i < 8565; i++)
            {
                string marketName = ws.get_Range(columnIndex + i.ToString(), Missing.Value).ToString();
                returnList.Add(marketName);
            }
            return returnList;


Und an jeder Stelle der Liste ist eben System.__ComObject...

28.07.2008 - 14:24 Uhr

Na toll, jetzt wirft er mir zwar keine Exception, aber jetzt lese ich die Werte ein, die ein den Spalten stehen und den einzigen wert den er mir schreibt is :

System.__ComObject

Wieso kann das sein?

28.07.2008 - 13:53 Uhr

Hab ich gemacht, aber bis jetzt sind noch keine erfolge zu sehen

Mit VBA hat es nie probleme gegeben...

28.07.2008 - 13:17 Uhr

ich werd mal das workaround vom blog versuchen... Danke für die Hilfe

28.07.2008 - 13:13 Uhr

Ja, hab mir jetzt SP 2 für Excel installiert, kommt aber immer noch die selbe exception...

und mit der lokalisierung, ich glaube nicht, weil das Sheet is im selben ordner wie die Solution...

28.07.2008 - 13:06 Uhr

bin gerade drauf gekommen, dass mein pc in der arbeit gar kein SP installiert hat, versuch mir mal des SP 2 oder 3 drauf zu tun und dann mal weiter sehen..

mfg

28.07.2008 - 12:16 Uhr

Hab das jetzt so gemacht, jedoch kommt dann eine exeption bei folgenden Code:


 Range range = ws.get_Range(ws.Cells[1, 1], Missing.Value).get_End(XlDirection.xlDown);

Exception:
COMException wurde nicht behandelt.
Ausnahme von HRESULT: 0x800A03EC

28.07.2008 - 10:51 Uhr

Hab das jetzt so gemacht, jedoch kommt dann eine exeption bei folgenden Code:


 Range range = ws.get_Range(ws.Cells[1, 1], Missing.Value).get_End(XlDirection.xlDown);

Exception:
COMException wurde nicht behandelt.
Ausnahme von RESULT: 0x800A03EC

28.07.2008 - 09:50 Uhr

Hallo,
hab mal wieder ein kleines Problem:

Muss ein Excel sheet mit VS2008 auslesen. Hab das aber vorher noch nie gemacht und mich natürlich schon ein bisschen im I-Net schlau gemacht, bin teilweise auch fündig geworden.

Aber das Problem is, das man bei get_Range ja die Startzelle und die Endzelle angeben muss z.B.: Worksheet.get_Range("A1","A500");

Wenn ich jetzt aber sage, ich weiß nicht wo meine erste Zelle befüllt ist und meine letzte aufhört, dann könnte das ein bisschen komplizierter werden (was ich mir aber nicht vorstellen kann, weil das .NET Framework hat für alle simplen Aufgaben sehr triviale lösungen).

Kann mir irgendjemand helfen?

mfg, danke shcon im vorhinein

18.07.2008 - 14:42 Uhr

Hab die Lösung für mein Problem:

Ich habe das Projekt als auch die DB auf meine Netzlaufwerk gespeichert gehabt...

Und wie mir Killerhase schon geschrieben hat, dass es eventuell Probleme geben kann, dass die DB auf einem Netzlaufwerk liegt...

Das eigentlich Problem war aber, das mein gesamtes Projekt, also auch der Code, auf dem Netz war.

Hab jetzt den Code und DB lokal und es funktioniert wunderbar...

Danke für eure Mühe...

mfg
S

18.07.2008 - 10:44 Uhr

LÖSUNG:

Netzlaufwerk ist nicht "sicher" genug. Eine WPF - Anwendung braucht aber einen Pfad der für die Anwendung "sicher" genug ist und deswegen gibt es diesen eigenartigen Fehler beim Starten des Programms

18.07.2008 - 10:43 Uhr

Ja die Daten anzeigen geht schon... Das is ja das komische

17.07.2008 - 10:58 Uhr

Bin gerade auf folgende Fakten gestoßen:

Wenn ich die WPFApplication auf C:\ speicher, dann funktioniert es ganz normal, wenn ich allerdings auf meinen persönlichen Ordner im Netzwerk speichere, dann kommt eben die oben angegebene Fehlermeldung.

Wenn ich aber eine WindowsForms-Anwendung erstelle, dann kann ich es aber am Netzlaufwerk speichern und es funktioniert...

Hat jemand vlt eine Erklärung dafür, warum WPF-Applications nicht vom Netzlaufwerk gestartet werden können?

mfg

17.07.2008 - 10:23 Uhr

Hallo zusammen,
Hab ein relativ großes Problem und keine Ahnung wie ich dieses lösen kann:

Ich arbeite schon länger privat mit der WPF und da jetzt auch die Firma in der ich arbeite entschieden hat auf .NET3.5 umzusteigen, bin ich wohl der Mann der Stunde 🙂

Komischerweise sobald ich aber eine WPF Anwendung erstelle und dann einfach mal starten will, also das komplett leere Programm kommt folgende Fehlermeldung:

Die in der Assembly "WpfApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" definierte Instanz von "Window1" kann nicht erstellt werden. Ein Aufrufziel hat einen Ausnahmefehler verursacht. Fehler in Markupdatei "Window1.xaml", Zeile 1, Position 9.

Wie schon vorhin angekündigt, ich habe keine Ahnung woran das liegen kann.

Hat jemand von euch eine Idee was das sein kann?

danke schon mal im voraus,
mfg S