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
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
Habe hier etwas gefunden, verstehe nur den Sinn dahinter nicht:
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
OK,
Also in meinem Fall ist der NAME der PROPERTY = Text
daher:
this.cmbAuthentification.DisplayMember = "Text";
this.cmbAuthentification.ValueMember = "AuthentificationType";
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
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
Dankeschön
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
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
Der Connectionstring sieht so aus:
Data Source = LAPDATACENTER;IntegratedSecurity = True; User ID = FIRMENDOMAIN\benutzername
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
hat sich erledigt, war sowieso ein falscher befehl...
danke nochmal, mit dbo.sysdatabases hat es funkitoniert
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.
Danke, das hört sich nach einer guten Idee an...
mfg
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
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
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
Danke, MrSparkle... Das hört sich recht gut an...
danke auch an PhilHol für den link...
mfg
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
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
Achso...
Naja, wäre die Notlösung, würde es aber lieber anders machen
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?
Hab ich gerade versucht...
Als string bekomme ich dann nur einen . (punkt)
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...
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?
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
danke, so funktioniert es prima
wird dann der alte wert überschrieben?
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
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
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?
Ach ja, die Exception tritt genau bei dieser Zeile auf:
if (workSheet.Cells["B", temp].ToString() == "")
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
DANKE!!!
Haut endlich hin... War das vlt ne schwere Geburt...
thx noch mal
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...
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?
Hab ich gemacht, aber bis jetzt sind noch keine erfolge zu sehen
Mit VBA hat es nie probleme gegeben...
ich werd mal das workaround vom blog versuchen... Danke für die Hilfe
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...
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
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
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
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
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
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
Ja die Daten anzeigen geht schon... Das is ja das komische
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
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