Laden...
J
JK_net myCSharp.de - Member
Fachinformatiker Anwendungsentwicklung Dabei seit 09.02.2005 187 Beiträge
Benutzerbeschreibung

Forenbeiträge von JK_net Ingesamt 187 Beiträge

08.10.2006 - 16:44 Uhr

Vielen Dank für die ganzen Antworten!

Werde damit bestimmt fündig!

08.10.2006 - 15:49 Uhr

Hallo,

ich habe folgende Codeschnippsel, die ich gerne nach C# umgewandelt haben möchte...

Public Sub ExecuteQuery()
        AddHandler oOracleReader.QueryCompleted, AddressOf QueryCompleted
        ThreadQuery = New System.Threading.Thread(AddressOf oOracleReader.ExecuteQuery)
        ThreadQuery.IsBackground = True
        dStartTime = DateTime.Now
        ThreadQuery.Start(texteditorQuery.Text)
        strStatus = "Executing..."
    End Sub

    Public Sub InterruptQuery()
        oOracleReader.InterruptQuery()
        If Not ThreadQuery Is Nothing Then ThreadQuery.Abort()
        ThreadQuery = Nothing
        strStatus = "Execution aborted..."
    End Sub

    Public Sub QueryCompleted()
        If Me.InvokeRequired Then
            Dim d As New BindDatagrid(AddressOf BindDatagridHandler)
            Invoke(d)
        Else
            BindDatagridHandler()
        End If
        ThreadQuery = Nothing
        oOracleReader.Clear()
    End Sub

    Private Sub BindDatagridHandler()
        Dim oDataset As DataSet = oOracleReader.Dataset        
        If Not oDataset Is Nothing Then            
            DataGridView1.DataSource = oDataset.Tables(0)
            DataGridView1.Show()
            dEndTime = DateTime.Now
            strStatus = oDataset.Tables(0).Rows.Count & " rows selected in " & System.Math.Round(dEndTime.Subtract(dStartTime).TotalSeconds, 3) & " seconds"
            Me.Cursor = Cursors.Default
        End If
    End Sub

Kann mir dabei jemand helfen?

Am wichtigsten sind eigentlich die Zeilen mit AddressOf...

Ich hoffe mir kann jemand dabei helfen...

Viele Grüße
Jens

24.09.2006 - 09:30 Uhr

Ok, vielen Dank,
ich werde mal ein wenig weiter probieren... 😉

24.09.2006 - 07:55 Uhr

Hallo,

ich bin dabei eine MDI-Anwendung zuschreiben.
Jetzt möchte ich gerne beim Laden von neuen Fenstern in diese MDI-Anwednung einen Splahscreen anzeigen, z.B. mit einer ProgressBar.

Da ich mit VS2005 arbeite, habe ich versucht den Backgroundworker zu verwenden. Aber bei meinem Code müsste ich den Splashscreen in das DoWork-Event auslagern, da ich beim Laden den Child-Fensters auf das Parent-Fenster zugreife, und das ganze ja in einem Thread ablaufen muss...

Allerdings habe ich Probleme mit dem Anzeigen des Splashscreens.

Könnt Ihr mir sagen, wie (an welcher Stelle) und wann der Aufruf erfolgen sollte?
Ich habe es bisher direkt am Anfang im Click-Event des Menüpunkts, über das das MDI-Child geladen wird. Dabei wird der Splashscreen leider nicht "sauber" angezeigt...
Woher weiß ich, wann die Form geladen ist? Und wie beendet man dann den Backgorundworker?

Ich hoffe ihr könnt mir helfen!

MfG
Jens

23.09.2006 - 15:12 Uhr

Hallo zusammen,

das kann ich alles mit "ja" bestätigen.
Der Code wird aufgerufen, ohne Exception und es sind drei Icons vorhanden...

Oh, sorry, habe gerade gemerkt, dass der Fehler bei mir liegt... 🙁
Ich habe noch ein "Before_Expand" - Event, bei dem zusätzlich untergeordnete Knoten hinzugefügt werden.
Dort weise ich die Icons nicht zu...

Hat sich aber jetzt erledigt, es funktioniert...

Vielen Dank euch zwei trotzdem für die Bemühungen!!!

Viele Grüße
Jens

23.09.2006 - 08:14 Uhr

Hallo,

ich möchte gerne nach dem Füllen eines TreeViews den einzelnen TreeNodes Icons zu weisen.

Mit folgendem Code funktioniert es leider nicht:

this.treeView.ImageList = this.imageList;
foreach (TreeNode node in treeView.Nodes)
{
  node.ImageIndex = 0;
  foreach (TreeNode table in node.Nodes)
  {
    table.ImageIndex = 1;
    foreach (TreeNode field in table.Nodes)
    {
      field.ImageIndex = 2;
    }
  }
}

Kann mir jemand weiterhelfen?
Ist es überhaupt Möglich, dies im nachhinnein zu machen?

Vielen Dank im Voraus!

Jens

17.09.2006 - 18:23 Uhr

Das ist mein code für application:

private byte[] application;

private void btnSelectApplication_Click(object sender, EventArgs e)
{
  OpenFileDialog openFileDialog = new OpenFileDialog();
  openFileDialog.Filter = "(*.dll)|*.dll";
  if (openFileDialog.ShowDialog() == DialogResult.OK)
  {
    FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open);
    BinaryReader reader = new BinaryReader(fs);
    application = reader.ReadBytes((int)fs.Length);
    reader.Close();
    fs.Close();
  }
}

Das funktioniert auch und ich habe dann auch tatsächlich ein byte[]...

17.09.2006 - 18:07 Uhr

Hallo,

ich versuche ein Feld im Sql Server 2005 (Datentyp image) mit einem byte[] (application) zu füllen. Leider schlägt das Ganze mit folgender Meldung fehl:

Excpetion:
"Failed to convert parameter value from a String to a Byte[]."

InnerException:
{"Invalid cast from 'System.String' to 'System.Byte[]'."}


this.sqlInsert = "INSERT INTO anwendung (object) " +
                       "VALUES (@Object)";
this.sqlCommand = new SqlCommand(this.sqlInsert, this.sqlConnection);

SqlParameter paramObject;
paramObject = new SqlParameter("@Object", SqlDbType.Image);
paramObject.Value = application;
this.sqlCommand.Parameters.Add(paramObject);

Kann mir jemand bei dem Problem weiterhelfen?
Die Exception wird beim ExcuteNonQuery geworfen...

Viele Grüße
Jens

07.08.2006 - 21:40 Uhr

Hi,

Aber der Code den du gepostet hast ist nur ein kleines Beispiel oder?
Ich meine für das was in der Funktion steht ist es ja nun wirklich nicht so sinnvoll nen neuen Thread anzulegen 😉

Da hast du recht... Ich lade eine zweite Form zum Anmelden, aber das ist etwas mehr Code, deswegen habe ich ihn weggelassen...

Also, ich habe eure beiden Tipps mal ausprobiert und es funktioniert wunderbar.

👍 ! VIELEN DANK ! 👍

Viele Grüße
Jens

07.08.2006 - 19:08 Uhr

Hallo,

in meiner Anwendung habe ich folgenden Code:

public FrmMain()
{
  InitializeComponent();
  Thread t = new Thread(new ThreadStart(this.login));
  t.IsBackground = true;
  t.Start();
}

private void login()
{
  try
  {
    this.Invoke(new loginDelegate(this.userLogin));
  }
  catch (Exception ex)
  {
    MessageBox.Show(ex.Message + "\r\n\r\n" + ex.InnerException);
  }
}

Ich möchte damit gerne die Methode "userLogin" in einem separaten Thread aufrufen.
Das Ganze funktioniert beim Testen aus Visual Studio heraus wunderbar und ohne irgendwelche Probleme.
Jedoch wenn ich die Anwendung separat starten möchte, egal ob als Debug oder Release - Version, erhalte ich folgende unschöne Fehlermeldung (siehe Anhang).

Leider habe ich aber keine Idee, woran das liegen kann, das es ja beim Debuggen sauber durchläuft und aus VS heraus, wie gesagt, auch ausführbar ist...

Könnt Ihr mir weiterhelfen?

Ich verwende Visual Studio 2005.

Viele Grüße
Jens

05.08.2006 - 11:56 Uhr

Hallo xxxprod,

vielen Dank für dein Beispiel.

Ich wollte aber ganz gerne mein Hauptfenster anzeigen und dann die zweite Form (mein Anmeldeformular) zusätzlich anzeigen...
Und nicht hintereinander...

Mal schauen, ansonsten verwende ich eine Lösung in der Art, wie du sie gemacht hast.

Viele Grüße
Jens

05.08.2006 - 11:03 Uhr

Hallo herbivore,

ein Anmeldefenster habe ich ja bereits realisiert, es geht nur um den Aufruf...
in den Beispielen, werden nur Anmeldefenster angezeigt...

Deshalb habe ich ja mein Problem hier rein gestellt...

Beim mir geht es ja um den Aufruf zweier Fenster gleich zum Start einer Anwendung, wobei beide angezeigt werden sollen.

Jens

05.08.2006 - 10:53 Uhr

Hallo herbivore,

also, wenn ich nach deinen Schlagworten suche, finde ich leider nichts, was auf das Problem deutet oder wo dieses Problem schon mal angesprochen wurde.

Ich hatte vor meinem Eintrag auch schon bei google, codeproject und hier gesucht...

Viele grüße
Jens

05.08.2006 - 10:32 Uhr

Hmm,

musst du nicht noch eine Zeile mit

reader.Read();

vor der MessageBox einfügen?

Viele Grüße
Jens

05.08.2006 - 10:27 Uhr

Hallo,

ich habe vom Visual Studio 2005 die Version 8.0.50727.42 und vom .Net-Framework die Version 2.0.50727.

Beim Verwenden der MaskedTextBox ist mir aufgefallen, dass ich lediglich die in der Abbildung zusehenden Masken habe.
Ich habe aber neulich im Internet eine Abbildung gesehen, in der wesentlich mehr waren (habe leider den Link vergessen).

Ich habe auch keine Möglichkeit die Masken zu speichern und wieder zuverwenden, wenn ich eine neue MaskedTextBox auf das Formular ziehe.

Ist das so vorgesehen? Hat vielleicht jemand mehr Auswahlmöglichkeiten?

05.08.2006 - 10:15 Uhr

Hallo,

ich bin dabei eine kleine Anwendung zu schreiben, bei der sich die Anwender registrieren müssen.
Jetzt möchte ich meine Anwendung starten, und gleich nach dem Start einen Anmeldedialog anzeigen.
Das Problem ist, wenn ich folgenden Code verwende:

public FrmMain()
{
  InitializeComponent();
  CreateMenu();
  this.login();
}

private void login()
{
  FrmLogin login = new FrmLogin();
  if (login.ShowDialog() == DialogResult.OK)
  {
    this.getContacts();
    this.navigate();
    component.License lic = new component.License(Application.StartupPath + "\\license\\license.xml");
    if (lic.IsValid())
    {
      this.Text += " (registrierte Version)";
    }
    else
    {
      this.Text += " (nicht registrierte Version)";
    }
  }
}

wird mein Hauptfenster nicht angezeigt.

Wenn ich das Ganze über den BackgroundWorker mache, kann ich obwohl ich die Login-Form als Dialog aufrufe auf mein Hauptformular zugreifen, was ich ja gerade unterbinden möchte...

Habt ihr eine Lösung, wie man das realisieren kann?

Viele Grüße
Jens

PS: Ich verwende Visual Studio 2005

14.02.2006 - 10:32 Uhr

Moin,

mich würde mal interessieren, ob und was Ihr so für WebServices nutzt...
Mich interessiert nebenbei auch ganz speziell, ob es irgendwo einen WebService mit den Bundesligaergebnissen gibt.

Bis jetzt habe ich mit dem Amazon-WebService beschäftigt und "rumgespielt"...

Gruß
Jens

13.02.2006 - 12:10 Uhr

Ok, vielen Dank, werde ich mir mal anschauen!

13.02.2006 - 11:58 Uhr

Hallo Norman-Timo,

wo gibt es denn eine Liste, welche Eigenschaften man überschreiben kann?

Gruß
Jens

13.02.2006 - 11:31 Uhr

Hallo,

ich habe ein UserControl, welches fünf ProgressBars enthält.
Jetzt möchte ich aber dieses UserControl so einschränken, dass nicht alle Eigenschaften verfügbar sind (z.B. ForeColor, Font,...).
Wie kann man so etwas machen?

Vielen Dank im Voraus!

Gruß
Jens

12.02.2006 - 08:04 Uhr

Super, vielen Dank!

12.02.2006 - 06:56 Uhr

Moin,

gibt es die Möglichkeit ein kaufmännisches Und-Zeichen (&) in einem Label darzustellen?

Momentan bekomme ich entweder ein Leerzeichen oder ein Buchstabe wird unterstrichen. Das soll nicht passieren.

Gruß
Jens

09.02.2006 - 14:31 Uhr

Hi,

mag sein, dass es noch nicht so gerne gesehen wird, aber in ein paar Jahren wirst du gar kein Diplom mehr bekommen, sondern nur noch Bachelor oder Master.
Das ist halt bei den Firmen noch nicht so ganz angekommen.
Zumindest nicht in kleineren und bei denen, die nur am deutschen Markt aufgestellt sind...

Ich würde sagen, wenn, dann mach gleich den Master. Der ist noch etwas höher als das Diplom.
In etwa sieht das so aus:

  1. Master
  2. Diplom
  3. Bachelor

So habe ich es zumindest mal gelesen.
Bitte korrigiert mich, wenn das falsch sein sollte.

09.02.2006 - 13:17 Uhr

Hi,

wie auch herbivore sagte, war auch meins nur eine Idee/Meinung.

Was heißt doppelte Studienzeit? Es liegt ja letztendlich an dir, wie lange du dir da Zeit lässt. Meine Freundin studiert momentan Wirtschaftsingenieurwesen in Wilhelmshaven (Fernfachhochschule). Die sagen z.B. es dauert ca. 8 Jahre, je nach dem wie schnell man die Module, die man buchen kann pro Semester abarbeitet. Man kann es durchaus aber auch in 4 Jahren schaffen, oder in 6...

Wo sind denn genau die Unterschiede?
Sind es die gleichen Studiengänge?

Gruß
Jens

09.02.2006 - 10:56 Uhr

Hallo FragenUeberFragen,

vielleicht eine weitere Überlegung für dich:

Du sagst, du möchtest in die Management-Ebene. Gut, man kann das Ganze natürlich in unterschiedlichen Unternehmen von unterschiedlicher Größe machen.

Du könntest natürlich auch ins Auge fassen dein eigenes Unternehmen zu gründen. Mach die Selbstständig, entweder alleine, oder suche dir einen Partner.
Dann könntest du die Führungsrolle in deinem eigenen Unternehmen übernehmen und nach und nach wachsen und Mitarbeiter einstellen.

Wie gesagt, ist nur eine Überlegung... 😉

Viele Grüße
Jens

16.01.2006 - 15:13 Uhr

Hallo,

kennt jemand von euch eine einfache Textverarbeitung, die mit C# geschrieben wurde und evtl. auch OpenSource ist?
Die einzigen beiden Anforderungen sind, dass das Dokument zoombar ist und möglichst so aussieht wie MS Word.

Würde mich freuen, wenn von euch jemand so eine Komponente kennt oder evtl. selber schon einmal geschrieben. Vielleicht könnt ihr mir ja aber auch nur Tipps geben, wie man so etwas umsetzt.

Vielen Dank und viele Grüße
Jens

15.01.2006 - 20:15 Uhr

Hallo,

ich bin dabei eine DB-Anwendung zu entwickeln, in der die Benutzer verschiedenste Daten speichern können. Jetzt möchte ich aber gerne dass die Benutzer auch ihre erfassten Daten auswerten können.
Meine Idee ist nun ein Formular zu entwickeln, wo die Benutzer zum Einen ein weißes Blatt sehen, was später gedruckt werden soll. Auf dieses "Blatt" sollen die Benutzer per Drag 'n Drop Labels platzieren können, um die Auswertung / den Ausdruck ihren Bedürfnissen anzupassen (ähnlich wie z.B. in Crystal Reports).
Das ganze Layout sollte natürlich gespeichert werden und wiederhergestellt werden können...

Hat von euch jemand so etwas schon einmal gemacht und könnte mir ein paar Tipps geben, wie man das am Besten machen kann, bzw. gibt es evtl. sogar schon irgendwo eine fertige Lösung?

Viele Grüße
Jens

30.12.2005 - 08:31 Uhr

Hallo,

in meiner Anwendung habe ich eine Methode die Daten aus Outlook lädt. Dieses Laden der Daten ist in einen Extra-Tread ausgelagert. Jetzt soll meine Anwendung aber solange der Thread läuft nicht beendet werden können.
Lässt sich dazu abfangen ob ein Thread noch läuft?

MfG
Jens

PS: Ich arbeite derzeit mit Visual C# 2005 Express Edition

11.12.2005 - 09:50 Uhr

Vielen Dank!

Funktioniert einwandfrei!

Gruß
Jens

11.12.2005 - 08:19 Uhr

Hallo!

Ich möchte gerne während ich Daten in ein ListView schreibe einige Datensätze sofort durch eine andere Schriftfarbe kennzeichnen.
Kann mir jemand verraten, wie man das macht?
Bisher habe ich es nur im Nachhinein machen können, indem ich jede Zeile durchlaufe.
Mich würde interessieren, ob man es nicht auch schon sofort machen kann.

Gruß
Jens

09.12.2005 - 19:50 Uhr

Ok, werde mir das mal ansehen.

Vielen Dank!

09.12.2005 - 19:01 Uhr

Hallo Ihr zwei!

Svenson hat recht, ich habe ein Array in der ArrayList. Sorry, hatte ich vergessen.
Genau das ist mein Problem, dass das nicht richtig sortiert wird, denn so kommt z.B. 01.02.2006 vor 02.02.2005.

Und das wollte ich gerne verhindern.

MfG
Jens

09.12.2005 - 17:28 Uhr

Hallo,

ist es möglich eine ArrayList zu sortieren?
Der erste Werte in dem Array ist ein Datum. Ich würde gerne meine Liste anhand des Datums sortieren.

Hat evtl. jemand ein Beispiel dafür?

MfG
Jens

09.12.2005 - 10:12 Uhr

Ok, da haben wir irgendwie voll aneinander vorbei gedacht. 😉

Was mir am Rande mal aufgefallen ist:

Wenn ich die Methode, in der ich die Daten aus dem ListView hole, in einem Thread unter der Verwendung von C# 2005 Express aufrufe, gibt es den von mir angesprochen Fehler und Abbruch.

Heute morgen habe ich das Ganze in Visual Studio 2003 und C# ausprobiert und erhalte keine Fehlermeldung, dafür wird aber das "Warte"-Formular nicht vernünftig dargestellt.

MfG
Jens

09.12.2005 - 09:53 Uhr

Kein Problem! 😉

Wenn ich das jetzt so machen würde, wie du es beschrieben hast, und kein neues Formular, sondern z.B. eine Progressbar und ein Label direkt auf der Hauptform verwenden würde, wie würde der Code denn dann aussehen?

Ich glaube mein Hauptproblem ist der Zugriff auf das ListView-Control.

Gruß
Jens

09.12.2005 - 09:22 Uhr

Sorry, ich stehe gerade etwas auf dem Schlauch... 🙁

Also, ich habe meine Hauptform (Form1) und meine "Warte"-Form (FrmWarten)

FrmWarten soll aufgerufen werden, wenn ich die Methode "druckeRechnung" in Form1 aufrufe.
Deswegen möchte ich die Methode "druckeRechnung" in einen Extra-Thread auslagern, da ansonsten FrmWarten nicht vernünftig angezeigt wird...

Sorry nochmal,

Gruß
Jens

09.12.2005 - 07:54 Uhr

Sorry, dass ich schon wieder fragen muss...

Ich habe jetzt das Problem, dass ich während der oben genannten Schleife einen Wert aus dem ListView auslesen und einer Methode übergebe.
Wie funktioniert das denn mit dem Invoke / BeginInvoke? Ist das überhaupt möglich?

Ich habe hier mal meinen Methode eingefügt:

private void druckeRechnung()
{
  OfficeHelper.WordHelp word = new OfficeHelper.WordHelp();
  word.VorlageOeffnen(datei, "test");
  for(int i = 1; i <= this.listView1.Items.Count; i++)
  {
    word.TextmarkeFuellen("txtPosNr" + i, this.listView1.Items[i - 1].SubItems[0].Text);
    word.TextmarkeFuellen("txtArtikel" + i, this.listView1.Items[i - 1].SubItems[1].Text);
    word.TextmarkeFuellen("txtMenge" + i, this.listView1.Items[i - 1].SubItems[2].Text);
  }
  word.DokumentSpeichern(datei, "test");
}

Diese Methode möchte ich gerne in einem separaten Thread öffnen.

Ich hoffe ihr könnt mir noch ein wenig weiter auf die Sprünge helfen...

08.12.2005 - 20:30 Uhr

Vielen Dank euch beiden schon einmal für den Hinweis.

Hättet ihr evtl. ein Beispiel dafür parat? Oder vielleicht einen Link?
Das leicht verständlich ist...

Viele Grüße
Jens

08.12.2005 - 18:37 Uhr

Ich habe nochmal eine Frage zu dem Thema Threads.

Und zwar habe ich jetzt folgenden Code:

FrmWarten warten = new FrmWarten();
warten.Show();
Thread t = new Thread(new ThreadStart(druckeRechnung));
t.Start();
do
{
  Application.DoEvents();
} while (t.IsAlive);
warten.Close();

In der Funktion "druckeRechnung" greife ich aber auf innerhalb einer for-Schleife auf ein ListView zu. Beim Ausführen des Ganzen bekomme ich folgende Fehlermeldung in der ersten Zeile, wo ich auf das ListView zugreife:

Cross-thread operation not valid: Control 'lvwPositionen' accessed from a thread other than the thread it was created on.

Könnt ihr mir dabei bitte weiterhelfen?!

Ich nutze momentan C# 2005 Express Edition.

Viele Grüße
Jens

08.12.2005 - 11:31 Uhr

Super, vielen Dank!

08.12.2005 - 10:56 Uhr

Hallo!

Ich habe einen Prozess, der einige Zeit dauert.
Während dieser Zeit möchte ein neues Formular einblenden, auf eine Progressbar läuft.

Könnt mir sagen, wie so ein neuer Thread aussehen muss?
Brauche ich zwei Threads, reicht einer?

MfG
Jens

07.12.2005 - 09:29 Uhr

Hallo kakaomilch,

wenn ich das so wie du mache, erhalte ich beim Kompilieren einen Fehler...
Und zwar meckert er, dass angeblich eine ] fehlt.
Hier mein Code:

this.wordDoc.FormFields[ref oBookmarkName].Result = Text;

dass Intellisense keine Methode Item() bei FormFields anzeigt...

Also, bei mir in C# gibt es die Methode...

MfG
Jens

07.12.2005 - 07:48 Uhr

Hallo!

Ich habe in Word eine Vorlage gebastelt, in der ich Formularfelder habe. Diese Formularfelder möchte ich gerne aus meinem C#-Tool heraus füllen.
In VB.net habe ich dazu folgenden Code gefunden:

Sub FuelleFormularfeld(ByVal Feldname As String, ByVal Text As String)
  If Me.wordDoc.Bookmarks.Exists(Feldname) = True Then
    Me.wordDoc.FormFields().Item(Feldname).Result = Text
  End If
End Sub

Jetzt habe ich versucht den Code wie folgt in C# zu implementieren:

public void FuelleFormularfeld(string Feldname, string Text)
{			
  object index = Feldname;
  if (this.wordDoc.Bookmarks.Exists(Feldname))
  {
    this.wordDoc.FormFields.Item(ref index).Result = Text;
  }
}

Wenn ich aber jetzt auf die C#-Methode zugreife erhalte ich folgende Fehlermeldung:
_An unhandled exception of type 'System.MissingMethodException' occurred in Word.exe

Additional information: Method not found: Word.FormField Word.FormFields.Item(System.Object ByRef)._

Kann mir jemand sagen, was an dem C#-Code falsch ist? Bzw. hat jemand Erfahrung damit und hat evtl. Beispiele?

Vielen Dank im Voraus!

MfG
Jens

03.12.2005 - 06:48 Uhr

Hallo norman_timo!

Also die Antwort ist schlichtweg nein. Aber man kann sich damit helfen, dass man EINE Schnittstelle baut, über die alle Datenbankzugriffe laufen soll. Diese Schnittstelle arbeitet dann mit Queues, so dass Zugriffe der Reihe nach abgearbeitet werden können.

Hättest du dafür mal ein Beispiel bzw. einen Link, wo man sich darüber informieren kann?

MfG
Jens

27.11.2005 - 07:39 Uhr

Hallo,

wie kann ich eine Zahl so formatieren, dass mit zwei Nachkommastellen ausgegeben wird?
Nach einer Rechnung bekomme ich eine "glatte" Summe raus, diese soll aber als Währung formatiert sein.

MfG
Jens

27.11.2005 - 07:19 Uhr

Hallo FZelle!

Also,

zu 1.) Auch mit den "@-Parametern" funktioniert der DB-Zugriff.

zu 2.) Ich habe jetzt auch bei der Summe den Typ OleDbType.VarWChar benutzt und jetzt werden die Daten gespeichert. Wrum das damit funktioniert - keine Ahnung...

Trotzdem vielen Dank nochmal für deine Hinweise!

MfG
Jens

25.11.2005 - 10:27 Uhr

Hallo!

Ich verwende folgenden Code um den Vornamen, den Nachnamen und eine Summe in einer Access-Datenbank zu speichern:

string str = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb";

OleDbConnection con = new OleDbConnection(str);

con.Open();

string sql = "INSERT INTO test (Nr, Vorname, Nachname, Summe) VALUES (@Nr, @Vorname, @Nachname, @Summe)";

OleDbCommand cmd = new OleDbCommand(sql, con);

cmd.Parameters.Add("@Vorname", OleDbType.Integer).Value = 3;
cmd.Parameters.Add("@Vorname", OleDbType.VarWChar).Value = "Max";
cmd.Parameters.Add("@Nachname", OleDbType.VarWChar).Value = "Mustermann";
cmd.Parameters.Add("@Summe", OleDbType.Numeric).Value = new Decimal(24.95);

try
{
  cmd.ExecuteNonQuery();
}
catch(OleDbException ex)
{
  MessageBox.Show(ex.Message);
}

con.Close();

Dabei ist das Feld Summe vom Typ Zahl (Dezimal).
Wenn ich diesen Code aber ausführe, speichert er mir die Zahl 24.95 als 2495.
Kann mir jemand sagen woran das liegt, bzw. wie man es richtig machen kann?

Vielen Dank im Voraus!!!

MfG
Jens

24.11.2005 - 12:20 Uhr

Vielen Dank für die schnelle Antwort! 👍

24.11.2005 - 12:13 Uhr

Hallo!

Ich habe eine Access-Datenbank auf die ich per C# zugreifen möchte.
Die Insert- und Update-Befehle "fülle" ich mit Parametern, wobei man ja den OleDBTyp angeben muss.
In einer Tabelle der Access-Datenbank habe ich ein Feld vom Typ Memo. Welchen OleDBTyp würdet ihr dafür verwenden?

MfG
Jens

19.11.2005 - 14:35 Uhr

Hallo!

Ich weiß zwar nicht genau, ob die Frage hier passt, aber ich stelle Sie trotzdem mal:

Ich habe heute den SQL Server 2005 Express Edition installiert, der mit Visual C# 2005 Express ausgeliefert wird.
Jetzt möchte ich gerne eine eigene DB einrichten, soweit kein Problem, aber es hapert beim Erstellen und Einrichten von Usern.

Kann mir jemand erklären, wie Benutzer eingerichtet werden, bzw. kennt jemand von euch ein Nachschlagewerk (möglichst in digitaler Form)?

Ich würde mich sehr über Hilfe freuen!

MfG
Jens