Laden...

Forenbeiträge von ZeroQool Ingesamt 322 Beiträge

07.12.2006 - 08:23 Uhr

Hallo, ich lösche aber alles u adde alles komplett neu. Noch einen Lösungsvorschlag?

06.12.2006 - 16:47 Uhr

Hallo, ich glaube den Befehl gibt es nicht bei C#. (Bookmark delphi)

Geht um folgendes...habe eine Listview. Dort klicke ich eine beliebige Zeile an u per rechte Maustaste bekomme ich ein neues Fenster in dem ich die Werte der markierten Zeile ändern kann. Nach der Speicherung schließe ich das Änderungsform. u sehe meine Listview u aktualisiere diese natürlich damit ich sofrt meine Änderung sehe. Mein Wunsch ist es, dass auch die gleiche Zeile noch markiert sein soll nach dem Neuaufbau der Listview. thx im voraus.

06.12.2006 - 14:27 Uhr

Hört sich plausibel an. Wie übergebe ich denn ein komplettes Objekt? Sorry bin gerade erst von Delphi umgestiegen u kenne noch nicht alles bei c#

06.12.2006 - 13:58 Uhr

Hallo, ich habe eine ComboBox mit einer Spalte aus meiner MSSQL Datenbank füllen lassen. Klappt alles wunderbar, aber nun möchte ich die parallelen Daten dazu aulesen. Tabelle ist so aufgebaut:

ID Konto PW Token

Die CMB zeigt mir im mom. das Konto an, aber ich will sobald ich irgendetwas auswähle im Hintergrund wissen auf welcher ID der gerade liegt, weil es sich imgrunde im eine BeziehungsID handelt. Ich hoffe mein Problem wurde einigermaßen verstanden. thx im voraus.

23.11.2006 - 09:46 Uhr

Hallo, bei Delphi gibt es das Steuerelement ADODataSet mit dem Ereignis Afterscroll. Wenn ich das ADODataSet mit einem DBGrid verbunden habe stellt diese die Informationen meiner Tabelle da, also so ähnlich wie bei C#. Aber bei Delphi habe ich das schöne Ereignis Afterscroll, das heißt sobald ich im DBGrid scrolle, scrollt der auch im Hintergrund im DataSet u ich kann über einen Befehl herausfinden, was in der aktuellen Zeile steht, also die Feldinhalte der Zeile. Wie finde ich das mit C# heraus? thx im voraus

02.11.2006 - 13:05 Uhr

Die Parameter werden ja von mir übergeben, aber er kann sie nicht zuordnen, weil mein COMMAND von den SQLParameter her leer ist.

Datenbank.SQLDatenSpeichern(PROZEDURNAME),
      new string[] {Datenbank.Gl_neuerDS,
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          ""});
31.10.2006 - 10:12 Uhr

Hallo, in Delphi.net kann man schön eine StoredProcedure in die ADOCommand reinladen u anschließend mit einem Befehl die Parameterliste aktualisieren, aber mit c# will das nicht so wirklich. Bei der SP handelt es ich um eine SQL Insert Anweisung

DelphiCode:

  ADOComProcedure.CommandType := cmdStoredProc;
  ADOComProcedure.CommandText := CT;
  ADOComProcedure.Parameters.Refresh;

C# habe ich folgendes probiert:

      frm_Anmeldung.Connection.Close();
      frm_Anmeldung.Command.CommandType = CommandType.StoredProcedure;
      frm_Anmeldung.Command.CommandText = "PrInsUpdeBayAPIKategorien";
      frm_Anmeldung.Command.Connection = frm_Anmeldung.Connection;
      frm_Anmeldung.Command.Connection.Open();
      frm_Anmeldung.Command.ExecuteNonQuery();

aber bei der letzten Zeile streikt er u sagt mir das

Die PrInsUpdeBayAPIKategorien-Prozedur erwartet den @sint_eBayAPIKategorienID-Parameter; dieser wurde nicht übergeben.

Der Fehler kommt weil ich die SP ausführen will, was ich aber eigentlich nicht machen will, sondern nur die Parameterliste LADEN/aktualisieren. Kennt jemand einen Lösungsweg? thx im voraus.

P.S. Wenn ich zB über das Steuerelement Command die SP lade, fragt der mich, ob die Parameterliste aktualisiert werden soll u dafür muss es doch bestimmt einen Befehl geben... =)

31.10.2006 - 09:27 Uhr

@ telnet....du hast Recht. BIG THX =)

31.10.2006 - 09:17 Uhr

Hallo, bin nun von Delphi.net auf C# umgestiegen u habe irgendwie ein paar Probleme, obwohl das nicht sein dürfte

Delphi.net

function TVCL_Datenmodul.SQLDatenSpeichern(CT : String; P : Array of String) : Integer;

Übergabe an die Funktion:

      VCL_Datenmodul.SQLDatenSpeichern(frm_Datenbank.GetProcNameInsUpd(ctbleBayAPIKategorien),
      [Gl_neuerDS,
      ListViewArray[0],
      ListViewArray[1],
      ListViewArray[2],
      ListViewArray[3],
      ListViewArray[4],
      ListViewArray[5],
      ListViewArray[6],
      ListViewArray[7],
      '']);

Nun habe ich das ganze in C# umgewandelt.

public static int SQLDatenSpeichern(string CT, string[] P)

Übergabe:

Datenbank.SQLDatenSpeichern(Datenbank.GetProcNameInsUpd(Felddefinitionen.Tabelle.eBayKategorien.ctbleBayAPIKategorien),
        [Datenbank.Gl_neuerDS,
          listparams[0],
          listparams[1],
          listparams[2],
          listparams[3],
          listparams[4],
          listparams[5],
          listparams[6],
          listparams[7],
          ""]);

Beim Kompilieren meckert der

Fehler 17 Ungültiger Ausdruck in der Zeile

   [Datenbank.Gl_neuerDS,

, also die eckige Klammer bemängelt der. Ich habe schon alles mögliche versucht, aber ich weiss wirklich nicht woran es liegt. Weiß jemand Rat? thx im voraus

31.10.2006 - 08:16 Uhr

big thx, genau das was ich brauche... =)

30.10.2006 - 16:21 Uhr

Hallo, ich habe einen SQLCommand.

      frm_Anmeldung.Connection.Close();
      frm_Anmeldung.Command.CommandType = CommandType.StoredProcedure;
      frm_Anmeldung.Command.CommandText = Prozedur;

Ich rufe damit eine gespeicherte Prozedur auf meinem SQL Server auf. Nun will ich aber von einem ganz bestimmten Paramter dessen Inhalt auslesen.

In Delphi ging das noch so.

Result := (ADOComProcedure.Parameters.FindParam('@svch20OutID').Value);

aber ich weiss nicht wie es mit c# ist, Suche ergab leider nichts ....

27.10.2006 - 10:48 Uhr

hallo, thx

habe noch ein kleines problem bzw Frage.

Formular:

    public void Logging(string LogMessage)
    {
      rTB_Status.Text = rTB_Status.Text + LogMessage;
      listBox1.Items.Add(LogMessage);
    }

Klasse:

frm_Datenbank frm_UebergabeDB = new frm_Datenbank();
frm_UebergabeDB.Logging("- Tabelle : " + FArrayDef[0] + " schon vorhanden!");

Wenn ich debugge seh ich das der den String übergibt, aber in meiner rtb tut sich gar nichts..listview ebenso...alles leer. Woran liegt das? Wenn ich zb

MessageBox.Show(LogMessage);

anstatt

listBox1.Items.Add(LogMessage);

schreibe poppt die MessageBox auf, aber wieso will das nicht mit dem LV oder rtb funktionieren?

27.10.2006 - 09:38 Uhr

Hallo, ich habe in einer Klasse mehrere Funktionen und Prozeduren geschrieben um auf dem SQL Server Prozeduren zu erstellen. Klappt alles wunderbar, aber nun wollte ich dazu eine Art von Logs schreiben. zB was gerade der CommandText ect. ist, aber leider kann ich von meiner Klasse aus auf keine rtbox zugreifen die auf irgendeinem Formular liegt. Hoffe, dass ich es einigermaßen verständlich ausgedrückt habe. Hat jemand Vorschläge? thx

22.10.2006 - 14:33 Uhr

Hallo, thx für die Antworten.

Sorry hätte erwähnen sollen, das QuotedStr dafür da ist um Strings in Hochkommas zu setzen, zB bei einer SQL Where Anweisung, wenn das WhereFeld und der WhereWert ein String ist.

20.10.2006 - 16:38 Uhr

Hallo, SF hat nichts ergeben. Bei Delphi gibt es den Befehl QuotedStr um Strings ect. in klammern zu bringen. Wie lautet der Befehl bei C#?

Delphi BspCode

      'IF EXISTS (select name from dbo.sysobjects ' +
      ' WHERE name = ' + QuotedStr(ProcName)+
      ' and type = ' + QuotedStr('P') +')' +
      ' DROP PROCEDURE ' + ProcName;
19.10.2006 - 14:01 Uhr

Hallo, aus Delphi heraus erstelle ich zB ein Type folgendermaße:

//Logbuch
const
  cLogbuchAnz = 9;
type
  ctLogbuchFeldDef = Array[0..cLogbuchAnz] of String;
var
  aLogbuchFeldDef : ctLogbuchFeldDef =
  (
  (ctblLogbuch),
  (cint10_LogbuchID),
  (cvCh8_SpeicherDatum),
  (cvCh8_SpeicherUhrzeit),
  (cvCh50_Benutzer),
  (cvCh50_ComputerName),
  (cvCh10_SQL_StatusNr),
  (cvCh500_SQL_Status_Info),
  (cChr8000_Daten_1),
  (cvCh50_gesperrt)
  );

var
  aLogbuchFeldPara : ctLogbuchFeldDef =
  ((''),
  (cint10),
  (cnvarchar8),
  (cnvarchar8),
  (cnvarchar50),
  (cnvarchar50),
  (cnvarchar10),
  (cnvarchar500),
  (cChar8000),
  (cnvarchar50)
  );    

Ehrlich gesagt habe ich nun 0Plan wie ich das mit C# erstelle. Über die Suche habe ich auch nichts gefunden. Kann jemand bitte helfen? danke

18.10.2006 - 16:09 Uhr

wie kann man zb einen anderen Proxy verwenden.zb InternetExplorer benutzt Proxy1 und ich möchte mit meiner Anwendung Proxy2 benutzen? Bei mir ist das Problem, dass er immer das nimmt was im InternetExpl. steht, obwohl ich den 2. im code definiert habe. thx

18.10.2006 - 14:08 Uhr

Hallo, habe bereits das Board und gegoogelt, aber nichts was mir weiterhilft. In der Firma haben wir einen Proxy mit der Zertifizierung u gerade bin ich mit der ebay API am Coden, aber bei Anfragen ect. bekomme ich immer den Fehler 407 Authentication. Mir ist auch klar warum. Daraufhin habeich das gecodet:

      WebProxy myProxy = new WebProxy("http://192.168.245.49:800", true);
      myProxy.Credentials = new NetworkCredential(userName, password, sdomain);
      MyWebService myWebService = new MyWebService();
      myWebService.Proxy = myProxy;      

      System.Net.GlobalProxySelection.Select = myProxy;

überall wo ich geguckt habe sehe ich so einen ähnlichen Code. Mein Problem ist nun, dass der trotzdem immer noch auf die Internet Explorer Einstellungen zugreift, obwohl ich sage

System.Net.GlobalProxySelection.Select = myProxy;[/

Anschließend habe ich mal beim InetExplorer den Proxy rausgenommen, aber nimmt immer noch nicht meinen erstellten Code als Proxy. Hoffe mein Problem ist jedem klar geworden. =)

Hat jemand noch paar Tips oder snipets am Start? thx im voraus

13.10.2006 - 15:30 Uhr

Hallo herbivore

daran kann es aber nicht liegen, außer du hast falsch gepackt (sprich beim Rüberschieben in die andere Klasse einen Fehler gemacht).

Daran denke ich kann es auch nicht liegen. Beim Kopieren/bzw verschieben habe ich auch ncihts falsch gemacht. Schon mehrmals überprüfen.

13.10.2006 - 15:05 Uhr

Sollte eigentlich richtig sein, wie gesagt, wenn ich die ganzen Funktionen in meinem Formular habe klappt alles, nur nicht wenn ich die Funktionen ect. in eine Klasse packe dann gehts nicht.

13.10.2006 - 14:20 Uhr

Ja, habe ich

Server=localhost;Database=Northwind;UID=sa;PWD=sa

13.10.2006 - 14:13 Uhr

Hallo, habe die Suchf. bereits genutzt, aber nichts passendes gefunden. Muss auch am Anfang sagen, dass ich mit c# erst diese Woche begonnen habe.

Ich habe folgende Schnipsel

private SymmetricAlgorithm SetEnc()
    {
      if (optDES.Checked)
        return new DESCryptoServiceProvider();
      else
        return new TripleDESCryptoServiceProvider();
    }
    private SymmetricAlgorithm mCSP;
    private void btnKeyGen_Click(object sender, EventArgs e)
    {
      mCSP = SetEnc();

      mCSP.GenerateKey();


      txtKey.Text = Convert.ToBase64String(mCSP.Key);
    }

    private void btnIVGen_Click(object sender, EventArgs e)
    {
      mCSP.GenerateIV();

      txtIV.Text = Convert.ToBase64String(mCSP.IV);
    }

    private void cmdEncrypt_Click(object sender, EventArgs e)
    {
      txtEncrypted.Text = EncryptString(txtOriginal.Text);
    }
    private string EncryptString(string Value)
    {
      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;

      ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);

      byt = Encoding.UTF8.GetBytes(Value);

      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();

      cs.Close();

      return Convert.ToBase64String(ms.ToArray());
    }

    private void button1_Click(object sender, EventArgs e)
    {
       txtEncrypted.Text = EncryptString(txtOriginal.Text);

        
    }

Das funktioniert wunderbar. ich kann die 2 Schlüssel erstellen u damit ver-u. entschlüsseln, aber nun wollte ich die Verschlüsselung in einer Klasse packen und von einem anderen Formular imgrunde aufrufen, aber ich habe immer eine Fehlermeldung.

Meine erstellte Klasse:

using System;
using System.Collections.Generic;
using System.Text;

using System.Collections;
using System.ComponentModel;
using System.Security.Cryptography;
using System.IO;


namespace eBayAPI_Server
{
  public class Verschluesselung
  {
    public const string cKey   = "OXc9OQSZNXMWwE2VehLdfjSrwAH+uMH/";
    public const string cKeyIV = "qxPc+5RGqeE=";

    private static SymmetricAlgorithm mCSP;

    //public SymmetricAlgorithm SetEnc()
    //{
    //  return new TripleDESCryptoServiceProvider();
    //}

    public static string DecryptStringKlasse(string Value)
    {
      SymmetricAlgorithm SetEnc = TripleDESCryptoServiceProvider.Create();
      mCSP = SetEnc;
      mCSP.Key = Convert.FromBase64String(cKey);
      mCSP.IV  = Convert.FromBase64String(cKeyIV);

      ICryptoTransform ct;
      MemoryStream ms;
      CryptoStream cs;
      byte[] byt;

      ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);

      byt = Convert.FromBase64String(Value);     // HIER HABE ICH EINE FEHLERMELDUNG (Ungültige Zeichen in einer Base-64-Zeichenfolge.)
      ms = new MemoryStream();
      cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      cs.Write(byt, 0, byt.Length);
      cs.FlushFinalBlock();

      cs.Close();

      return Encoding.UTF8.GetString(ms.ToArray());
    }

  }
}

FEHLER:

      byt = Convert.FromBase64String(Value);     // HIER HABE ICH EINE FEHLERMELDUNG (Ungültige Zeichen in einer Base-64-Zeichenfolge.)

weiß jemand wa sich falsch mache? big thx im voraus.